[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