[firebase-br] Como alterar um plano de execução ?

Jean Alysson jeanpapa em gmail.com
Qua Jan 4 17:26:34 -03 2012


Olá,
gostaria de melhorar um select que seria algo como:

select sum(campo1_nao_indexado), sum(campo2_nao_indexado)
from tabela1 t1 inner join tabela2 t2 on
(t1.campo_chave_primaria=t2.campo3_indexado)
where t1.campo4_nao_indexado = :parametro1

O plano de execução que o Firebird usou foi NATURAL para a TABELA1
(por causa do campo do where) e usou o indice na TABELA2

1) Eu devo criar um indice para o campo do where ? (no caso é um campo
data, usado bastante em select com where)
Pois na analise de performance foram lidos todos os registros da
TABELA1 (Non-Indexed Reads)

Como altero o plano de execução para usar outro plano (personalisar) ?
Tentei a linha abaixo (colocada abaixo do select, separado por ponto e
virgula) , mas não é reconhecida quando executada no IBExpert:PLAN
(TABELA1 INDEX (nome_indice))

Atenciosamente
Jean Alysson Ambrosio
Informática - Ody Park Aquático




Mais detalhes sobre a lista de discussão lista