DuarteRIG Novato

Registrado: Segunda-Feira, 26 de Dezembro de 2005 Mensagens: 1
|
Enviada: Qua Jan 31, 2007 2:39 pm Assunto: Problemas com o PLAN do Firebird em UPDATE |
|
|
Ae galera!
Seguinte, tava com um problema num UPDATE complexo que preciso fazer. Acabei resolvendo de outra forma, mas confesso que fiquei frustrado pela forma com que o Firebird analisou minha SQL.
Nesta UPDATE eu necessitava utilizar uma subquery no WHERE, e para minha surpresa o firebird utiliza o PLAN NATURAL quando eu utilizo o IN. Exemplo utilizando uma SELECT comum (bem babaca):
SELECT * FROM ocorrencias
WHERE id IN (SELECT o2.id FROM ocorrencias o2 WHERE o2.codigo<100)
... sendo que o campo id é chave primária, mesmo assim o firebird não utiliza o PK.
O PLAN desse SELECT fica:
PLAN (o2 index (PK_OCORRENCIAS), ocorrencias (PLAN NATURAL))
Claro que essa query que utilizei é ridícula, mas serve para mostrar o que eu considero um Bug.
Imagina num universo de mais de 200.000 registros (que é o meu caso).
Obrigado. Alessandro.
ps: utilizo o Firebird 1.5.3 4870 |
|