[firebase-br] MAX() com índice

Matheus Mathias matheus.jgs em gmail.com
Seg Maio 27 11:30:32 -03 2013


Eu acredito que seria um decrescente, pois o max seria o ultimo registro,
então ele é o primeiro a ser pesquisado...

-----Original Message-----
From: lista [mailto:lista-bounces em firebase.com.br] On Behalf Of Ricardo
Rodrigues
Sent: segunda-feira, 27 de maio de 2013 11:26
To: FireBase
Subject: Re: [firebase-br] MAX() com índice

Se não me falha a memória é indicado cria um índica ascendente para esses
tipos de select para uma melhor performance.

select cast(coalesce(max(ID_BANDA_LARGA)+1,1) as integer)
from TB_BANDA_LARGA
WHERE ID_BANDA_LARGA IS NOT NULL


Em 27 de maio de 2013 11:20, Bruno Dias <brunodila em gmail.com> escreveu:

> 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
> ______________________________________________
> 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
>
______________________________________________
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





Mais detalhes sobre a lista de discussão lista