[firebase-br] O firebird não está usando o indice do campo Razao para retornar a query
RAMJ SISTEMAS & CONSULTORIA
jubrovolski em yahoo.com.br
Dom Maio 15 09:29:26 -03 2005
Bom dia Pessoal
Estou com a seguinte situação:
Tenho uma tabela com aprox. 2 milhões de registros ( dados apenas para
teste ). Quando executo a query abaixo usando a "ordem natural", ou seja
sem "ORDER BY", o retorno dos dados é imediado ( teste no ibexpert ).
Mas quando eu utilizo order by e.nome, demora mais de 1 minuto para
retornar. Tirando os Left join, os dados também retornam de imediato com
o Order by e.nome. O que está errado nesta query? Tentei utilizar o
PLAN, mas não obtive resultados. Porque o banco demora a retornar os
dados se eu tenho um indice por NOME?
Reuber
SELECT E.CODCLI
, E.RAZAO
, D.NOME
, E.FANTASIA
, E.NATUREZA
, E.CODMUNCOM
, A.DESCMUN AS DESCMUNCOM
, G.UF AS UFCOM
, E.ENDERECOCOM
, E.BAIRROCOM
, E.CXPOSTALCOM
, E.CODMUNCOB
, B.DESCMUN AS DESCMUNCOB
, H.UF AS UFCOB
, E.ENDERECOCOB
, E.BAIRROCOB
, E.CXPOSTALCOB
, E.CADASTRO
, E.COBRANCA
, E.NFONE
, E.CELULAR
, E.FAX
, E.EMAIL
, E.SITE
, E.CNPJCPF
, E.IERG
, E.CEPCOB
, E.CEPCOM
, E.CODCNAE
, C.DESCCNAE
, E.CODPROP
, D.CPF AS CPFPROP
, E.CODBANCO
, F.DESCBANCO
, E.EMITENOTA
, E.NUMCONTRATO
FROM CLIENTES E
left join LOCALIDADES A ON (A.CODMUN=E.CODMUNCOM)
left join LOCALIDADES B ON (B.CODMUN=E.CODMUNCOB)
left join CNAE C ON (C.CODCNAE=E.CODCNAE)
left join PROPRIETARIOS D ON (D.CODPROP=E.CODPROP)
left join BANCOS F ON (F.CODBANCO=E.CODBANCO)
left join UFS G ON (G.DNE=A.DNEUF)
left join UFS H ON (H.DNE=B.DNEUF)
ORDER BY E.NOME
Mais detalhes sobre a lista de discussão lista