Fórum Indices no Firebird #42952
10/03/2004
0
Sid
Curtir tópico
+ 0Posts
10/03/2004
Rodolpho123
Aguardo a sua resposta para tentar ajudá-lo.
Abraços........!
Gostei + 0
10/03/2004
Afarias
ex::
create index nome_do_indice on nome_tabela (nome_campo);
para usá-lo vc não faz nada!! quando vc define uma condição em um select (WHERE) o IB seleciona automaticamente os índices q devem ser usados e pronto...
...bom, vc poderia usar a cláusula PLAN para definir os índices a serem usados, mas ai é outra história e vc não vai precisar!
T+
Gostei + 0
11/03/2004
Sid
:roll:
Como funcionam, pq o que quero fazer é tentar criar uma tabela que armazene ou aponte para arquivos que estão no HD, ou seja, depois disso tentar através de indice, recuperar textos referente àquela palavra como se fosse uma espécie de select para recuperar textos ligados a uma palavra chave. Não sei se deu para entender ?!?! Obrigado !
Gostei + 0
11/03/2004
Rodolpho123
Bem, vou tentar te explicar como funciona os índices do FB:
BD´s que não usam o sistema B_Tree(árvore binária) como Access, Paradox,Dbase, etc... usam os índices para melhorar a sua performance. Eles executam 2 tipos de acessos físicos para localizar os dados: 1º percorre o índice até achar o registro desejado e depois percorre a tabela até achar o registro. Já nos BD´s que utilizam o sistema de B-Trees, eles executam (na maioria das vezes) mais de 2 acessos fisicos no banco. Apesar do número de acessos ser maior que os convencionais, eles se tornam muito mais rápidos que o outro sistema, porque, se numa tabela access, constam 1.000 registros e vc quer o de número 40, o ponteiro vai percorrer todos os registros até lhe retornar o desejado. já na B-Tree, ele vai ´cortando caminho´. Exemplo: se na tabela FB constar 1.000 e vc quiser encotrar o de número 40, evai funcionár como uma árvore, cheia de galhos e folhas, então é dividido (um exemplo) como assim: 1 a 99,100 a 199, 200 a 299.......900 a 1.000. Então, ele se faz a pergunta: Para que eu tenho que ir nos outros registros se meu usuário só quer o de nº 40? então ele pega este ´atalho´ do 1 a 99, e assim ele vai se dividindo até encontrar o registros desejado. taí a explicação de perque ele executa mais de dois acessos físicos no BD, pois cada divisão são conhecida como ´nós´. É + ou - assim que funciona os Índices do FB.
Então, se vc criar relacionamentos usandos esses índices vc terá mais sucesso do que usar os outros.
Uma nota: Esses tipos de sistemas B-Trees tem um bom desempenho especificamente para BD muito grande. Se não for o seu caso, vc pode usar um BD que use índices não-BTree.
Espero tê-lo ajudado.
Abraços.......!
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)