[firebase-br] MAX() com índice
Bruno Dias
brunodila em gmail.com
Seg Maio 27 11:20:31 -03 2013
Bom dia!
Tenho a seguinte tabela:
CREATE TABLE TB_BANDA_LARGA (
ID_BANDA_LARGA INTEGER NOT NULL,
DESCRICAO VARCHAR(50),
VALOR_MENSAL NUMERIC(9,2),
VALOR_ADESAO NUMERIC(9,2)
);
ALTER TABLE TB_BANDA_LARGA ADD CONSTRAINT PK_TB_BANDA_LARGA PRIMARY KEY
(ID_BANDA_LARGA);
Quando faço um select o Firebird não utiliza o índice:
SELECT id_banda_larga
from TB_BANDA_LARGA
Somente quando mando ordenar pela chave primaria que o Firebird usa o
índice:
SELECT id_banda_larga
from TB_BANDA_LARGA
order by id_banda_larga
O problema é que estou fazendo um select com o MAX e o Firebird não utiliza
o plano de execução, existe alguma alternativa?
select cast(coalesce(max(ID_BANDA_LARGA)+1,1) as integer)
from TB_BANDA_LARGA
WHERE ID_BANDA_LARGA IS NOT NULL
At.,
Bruno Lage
lagix.com.br
Skype: brunodila
Mais detalhes sobre a lista de discussão lista