-
Discordo da questão.
Concordo que o uso de Árvore B torne as consultas mais eficientes que fazer busca em dados com alto grau de aleatoriedade (ou mesmo com baixo grau, creio ser indiferente).
Entretanto, eu discordo da afirmativa por entendê-la como: "O uso de árvore B é mais eficiente para colunas que possuem valores com alto grau de aleatoriedade do que para colunas com pouca". Utilizando-se o índice, independentemente da distribuição dos dados, o desempenho será o mesmo, não?
-
Muitos bancos de dados oferecem vários tipos de índices. O mais comuns são:
Índices em árvore B. O tipo mais utilizado baseia-se em estruturas de dados balanceadas de índices em árvore B. São indicados quando os valores-chave do índices são distribuídos aleatoriamente e tendem a variar muito. Seu desempenho não é bom quando os dados que estão sendo indexados já estão em uma ordem seqüencial.
Índices de hashing. Com menos freqüência, os valores-chave do índice são misturados. Com o hashing, o desempenho é melhor do que quando vários valores-chave de índice são conhecidos, e permanecem relativamente inalterados e exclusivos. Esse procedimento baseia-se na utilização do valor-chave para calcular o endereço dos dados desejados. Devido à necessidade de previsibilidade, os índices de hashing são úteis apenas para as tabelas de pesquisa médias, com poucas mudanças.
No geral, a utilização de índices é mais apropriada para tabelas onde há mais consultas do que atualizações.
-
A árvore B é bem adaptada para sistemas de armazenamento que leem e escrevem blocos de dados relativamente grandes, como discos.
Fonte: https://pt.wikipedia.org/wiki/%C3%81rvore_B