[firebase-br] Indice com Vários Campos
Kelver Merlotti
kmerlotti em gmail.com
Seg Maio 12 09:11:37 -03 2008
Bom dia Cantu! Bom dia Lista!
Nem todas as queries utilizam os 4 campos não.. acredito que este
índice esteja sendo raramente utilizado.. ou até não esteja sendo
utilizado!
Com relação à demora, não há nenhum vínculo à tabela direto no Banco.
Entretanto, acompanhando o fonte, vi um processo executado logo após o
insert, gerando dados vinculados a ela em um outra tabela.
Ignorando o tempo deste "processo", ou seja, analisando apenas o
"ExecSQL" do insert, foram +/- 2 segundos ainda.
Vale lembrar que a tabela possui 10 índices no total, sendo um deles
este índice composto.
Será que este número de índices está exagerado? Somente remover o
índice composto não ajudará?
Abraços!
--
Kelver Merlotti
Coordenador Editorial do Portal www.ActiveDelphi.com.br
Contato: kelver em activedelphi.com.br
Google: kmerlotti em gmail.com
Msn: kmerlotti em hotmail.com
2008/5/10 Carlos H. Cantu (TeamFB) <listas em warmboot.com.br>:
> Se as consultas realizadas no banco sempre usam os 4 campos no WHERE,
> então o indice composto ajudaria um pouco. Se as consultas em alguns
> casos usam os 4 campos, e em outros usam apenas alguns deles, eu
> removeria o indice composto e deixaria somente os individuais.
>
> PS: Acho 5s um tempo muito grande para um insert, e tenho duvidas se o
> culpa eh realmente o indice. Verifique se há triggers disparando nos
> inserts, e o que eles fazem.
>
> []s
> Cantu (Membro do TeamFB - FireBase)
> http://www.warmboot.com.br
> FireBase - http://www.FireBase.com.br
> Blog - http://blog.firebase.com.br
>
> KM> Bom dia galera!
> KM> Ganhei de presente uma base de dados "nervosa", com meros 800 MB,
> KM> dialeto 1, fb 1.5.
> KM> Missão: Melhorar o desempenho!
> KM> Uma das principais tabelas, atualmente com 541.000 registros, 28
> KM> campos, aproximadamente 1,1Kb por registro, existe um índice composto
> KM> por 5 campos, entrentanto, já existe um índice para cada um destes 5.
> KM> Para exemplificar:
>
> KM> TABELA
> KM> ----------------
> KM> CAMPO1
> KM> CAMPO2
> KM> CAMPO3
> KM> CAMPO4
> KM> CAMPO5
> KM> CAMPO6
>
> KM> INDICES
> KM> ---------------
> KM> IDX1(CAMPO1)
> KM> IDX2(CAMPO2)
> KM> IDX3(CAMPO3)
> KM> IDX4(CAMPO4)
> KM> IDX5(CAMPO1,CAMPO2,CAMPO3,CAMPO4) ***eis a questão!!
>
> KM> Um insert nesta tabela está demorando cerca de 5 segundos e ela recebe
> KM> cerca de 20 registros por minuto no sistema que a gerencia. Acredito
> KM> que este índice composto esteja influenciando.
> KM> Pergunto: Em vossas opiniões, preciso deste índice composto? Em que
> KM> situação ele seria utilizado?
> KM> Vale lembrar que até aqui, das queries que analisei, este índice não
> KM> foi utilizado, mas sim um ou mais índices com apenas um dos campos.
>
> KM> --
> KM> Kelver Merlotti
> KM> Editor do portal www.activedelphi.com.br
> KM> Contato: kelver em activedelphi.com.br
> KM> Google: kmerlotti em gmail.com
> KM> Msn: kmerlotti em hotmail.com
>
> KM> ______________________________________________
> KM> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> KM> Para saber como gerenciar/excluir seu cadastro na lista, use:
> KM> http://www.firebase.com.br/fb/artigo.php?id=1107
> KM> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
>
> ______________________________________________
> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
> Para saber como gerenciar/excluir seu cadastro na lista, use: http://www.firebase.com.br/fb/artigo.php?id=1107
> Para consultar mensagens antigas: http://firebase.com.br/pesquisa
>
Mais detalhes sobre a lista de discussão lista