Performance IB PLAN

Firebird

10/03/2004

Tenho uma pesquisa que estava demorando quase 1 minuto. Resolvi alterar o PLAN, e o tempo caiu para 2 segundos!

Dúvidas:

1. Estou utilizando no PLAN os indices criados pelo interbase (RDB$PRIMARY..., RDB$FOREIGN...). Esses indices, qdo recriar a base, podem mudar de nome. Qual o cuidado que devo ter?
2. Meu sql liga 6 tabelas. Esse é o motivo pelo qual o Interbase se perdeu e criou um PLAN tão ineficiente?
3. Pesquisei antes no forum e vi indicações do IBPLANALALYZER. Onde posso baixá-lo?

Obrigado.


Drf

Drf

Curtidas 0

Respostas

Afarias

Afarias

10/03/2004

|1. Estou utilizando no PLAN os indices criados pelo interbase
|(RDB$PRIMARY..., RDB$FOREIGN...). Esses indices, qdo recriar a base,
|podem mudar de nome. Qual o cuidado que devo ter?

Isso é realmente um problema... vc teria as seguintes soluções::

1- mudar para FB 1.5 pois vc pode dizer o nome dos índices criados pelas constraints

2- usar índices (e triggers) no lugar de constraints

3- carregar dinamicamente o nome dos índices fazendo consultas nas tabelas de sistema do IB


|2. Meu sql liga 6 tabelas. Esse é o motivo pelo qual o Interbase se
|perdeu e criou um PLAN tão ineficiente?

Depende do seu SQL, das tabelas e índices. Pode ser um bug do otimizador do IB -- mas também pode ser q vc poderia definir melhor sua query ou índices/seletividade

Bom, se for bug do otimizador do IB, vc poderia pensar em mudar para as versões mais recentes do IB (7.1) ou mesmo, se pretende usar uma solução Open Source, para o FB 1.5 -- (estou assumindo q vc usa o IB 6)


|3. Pesquisei antes no forum e vi indicações do IBPLANALALYZER. Onde
|posso baixá-lo?

ótimo programa!! é um daqueles q NÃO pode faltar!!! baixe em::

http://codecentral.borland.com/codecentral/ccweb.exe/listing?id=19030

(note q vc tem q ter um cadastro na BDN)

inclusive, ele possui um documento explicando e dando dicas sobre índices/seletividade e Plans



T+


GOSTEI 0
POSTAR