[firebase-br] Ajuda: Porque o FB não está utilizando o índice?

Bruno Freitas brunofguard-depot em yahoo.com.br
Qui Set 14 17:30:01 -03 2006


Olá pessoal!

Alguém poderia me informar porque o FB não está utilizando o índice 
nessa query?

select consultas.*
from consultas
left join pacientes on pacientes.paciente = consultas.paciente
order by data_consulta, hora_consulta

Eis o plan utilizado (obtido via IBExpert):

Plan
PLAN SORT (JOIN (CONSULTAS NATURAL,PACIENTES INDEX (RDB$PRIMARY16)))
Adapted Plan
PLAN SORT (JOIN (CONSULTAS NATURAL,PACIENTES INDEX (PK_PACIENTES)))

Nota: Reparem o "CONSULTAS NATURAL"

Agora a query sem o join, o índice é utilizado normalmente:

select *
from consultas
order by data_consulta, hora_consult

Eis o plan utilizado (obtido via IBExpert):

Plan
PLAN (CONSULTAS ORDER IDX_DATA_HORA_CONSULTA)
Adapted Plan
PLAN (CONSULTAS ORDER IDX_DATA_HORA_CONSULTA)

Nota: Reparem o "CONSULTAS ORDER IDX_DATA_HORA_CONSULTA"

O FB não utiliza índice para ordenação de joins? Como eu deveria 
proceder para obter uma performance desejável do meu join?

[]s

Bruno Freitas





Mais detalhes sobre a lista de discussão lista