Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

como é um índice de árvore B em mais de 1 coluna?


Com a maioria das implementações, a chave é simplesmente uma chave mais longa que inclui todos os valores de chave, com um separador. Não há mágica lá;-)

No seu exemplo, os valores-chave podem ser algo como
"123499|John Doe|Conway, NH"
"32144|Bill Gates| Seattle, WA"

Uma das características desses índices com chaves compostas é que os nós intermediários da árvore podem ser usados ​​em alguns casos para "cobrir" a consulta.

Por exemplo, se a consulta for para encontrar o Nome e a Cidade de acordo com o ID, já que o ID é o primeiro no índice, o índice pode pesquisar por isso com eficiência. Uma vez no nó intermediário, ele pode "analisar" o Nome e a Cidade, a partir da chave, e não precisa ir ao nó folha para ler o mesmo.

Se, no entanto, a consulta também quisesse exibir o número de telefone, a lógica seguiria a folha quando o registro completo fosse encontrado.