Por que term_id não está indexado na tabela wp_term_taxonomy?

4

Toda categoria ou tag (ou seja, eletrônica) é armazenada como termo em Tabela wp_terms indexada com name e slug , e sua relação com a taxonomia é armazenada na tabela wp_term_taxonomy que é indexada como taxonomy e term_taxonomy_id .

Eu posso encontrar term_id da tabela wp_terms usando name eficientemente porque está indexado com name , mas eu tenho que usar term_id para encontrar term_taxonomy_id da tabela wp_term_taxonomy , mas é indexado como taxonomy , mas não term_id e, em seguida, usaremos < em> term_taxonomy_id para encontrar object_id (postagens) de wp_term_relationship table.

A pergunta é: por que wp_term_taxonomy table não é indexada com term_id , o que é importante em operações como encontrar postagens relacionadas a uma determinada categoria ou tag ou qualquer outra coisa?

    
por Siddharth Tikekar 18.01.2018 / 13:31

1 resposta

1

Um único termo pode, teoricamente, estar presente em múltiplas taxonomias (e ter uma descrição diferente em cada uma). É aí que term_taxonomy_id entra em cena, fazendo referência a um único termo dentro de uma única taxonomia.

Na prática, o WP tenta evitar isso, e criará um termo com o mesmo nome e um sufixo -2 (iirc) no slug se um termo com o mesmo slug já existir em uma taxonomia diferente.

    
por janh 18.01.2018 / 18:43

Tags