[firebase-br] Forçando indíces

Kleber Caneva kdcc em terra.com.br
Qui Fev 7 09:30:32 -03 2008


Se o indice se refere ao campo uisado no Like, saiba que o like não utiliza 
de Indices, mesmo pq é impossivel.

Se o problema é a seuquencia retornada use ORDER BY e verá que ele utilizará 
o indice.

[]´s

Kléber Caneva

----- Original Message ----- 
From: "Alexandre Sousa" <alexandre.dantas em yahoo.com.br>
To: <lista em firebase.com.br>
Sent: Wednesday, February 06, 2008 2:26 PM
Subject: [firebase-br] Forçando indíces


Olá a todos,

Reabrindo um tópico que ja apareceu na lista mas que não achei resposta.

Tenho a seguinte consulta:

select pr.PRODUTO, pr.PR_DESCR, pr.EMPENHO, pr.REFER1, pr.EST_MIN,
  pr.PESO, pr.ESTOQUE, pr.QT_SM, pr.CUSTO, pr.VL_MEDIO, pr.UMREF,
  pr.GRUPO, pr.SUBGRUPO
from PRODUTO pr
where
  (((pr.TIPO_MOVES = 1) and (:OMITE = 1)) or (:OMITE = 0)) and
  (((pr.MERCADO = 0) and (:MERCADO = 1)) or (:MERCADO = 0)) and
  (pr.PRODUTO like :PRODUTO)

Devido a estrutura parametrizada e o uso do like, o firebird não utiliza o 
indice que tenho no campo PRODUTO.

Tentei forçar o indice utilizando a instrução PLAN da seguinte forma:

select pr.PRODUTO, pr.PR_DESCR, pr.EMPENHO, pr.REFER1, pr.EST_MIN,
  pr.PESO, pr.ESTOQUE, pr.QT_SM, pr.CUSTO, pr.VL_MEDIO, pr.UMREF,
  pr.GRUPO, pr.SUBGRUPO
from PRODUTO pr
where
  (((pr.TIPO_MOVES = 1) and (:OMITE = 1)) or (:OMITE = 0)) and
  (((pr.MERCADO = 0) and (:MERCADO = 1)) or (:MERCADO = 0)) and
  (pr.PRODUTO like :PRODUTO)

PLAN (PR INDEX (IDX_PRODUTO))

mas obtive o seguinte erro:

  index  cannot be used in the specified plan
  .
  index RDB$PRIMARY54 cannot be used in the specified plan.


Alguém tem alguma idéia?

Desde já agradeço.


Att.

Alexandre Sousa Dantas
______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
Para saber como gerenciar/excluir seu cadastro na lista, use: 
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa

E-mail classificado pelo Identificador de Spam Inteligente Terra.
Para alterar a categoria classificada, visite
http://mail.terra.com.br/cgi-bin/imail.cgi?+_u=kdcc&_l=1,1202329113.963668.10325.camenana.hst.terra.com.br,4637,Des15,Des15






Mais detalhes sobre a lista de discussão lista