[firebase-br] Plan Forçar a usar os indices da FK
Paulo Geloramo
paulogeloramo em terra.com.br
Seg Fev 14 21:44:46 -03 2005
Usando Firebird 1.5.2
Tenho as tabelas CLIENTE, PRODUTO e MOVIMENTO.
Estou usando SQL abaixo para retornar o total, mas esta lento,
alguma sugestão para melhorar o desempenho?
SELECT SUM(M.QUANTIDADE) AS TOTAL
FROM MOVIMENTO M
JOIN CLIENTE C ON (M.ID_CLIENTE = C.ID_CLIENTE)
JOIN PRODUTO P ON (M.ID_PRODUTO = P.ID_PRODUTO)
WHERE C.SITUACAO = 'A' AND P.TIPO = 'A'
Adotou automaticamente o plan abaixo, mas esta lento
PLAN JOIN (C NATURAL, M INDEX (FK_CLIENTE), P INDEX (PK_PRODUTO))
Alguma sugestão para forçar um outro plan que venha a usar os
indices ja criado para as PK e FK?
Tentei indicar o plan abaixo, mas não aceita usar indice FK_PRODUTO
retornando
a mensagem de erro abaixo:
PLAN JOIN (M INDEX (FK_CLIENTE, FK_PRODUTO), C INDEX (PK_CLIENTE), P INDEX
(PK_PRODUTO))
index cannot be used in the specified plan
.
index FK_PRODUTO cannot be used in the specified plan.
Existe alguma forma de forçar o plan a usar dois indices conforme abaixo:
M INDEX (FK_CLIENTE, FK_PRODUTO)
Seria assim ou existe alguma outra forma?
[]s
Paulo Geloramo
Mais detalhes sobre a lista de discussão lista