[firebase-br] MAX() com índice

W O sistemas2000profesional em gmail.com
Seg Maio 27 19:21:37 -03 2013


La Primary Key usa un índice ascendente: 1, 2, 3, 4, 5, etc.

La función MAX() necesita de un índice descendente: 10, 9, 8, 7, 6, etc.

Por lo tanto, no usa el índice de la Primary Key. Debes crear un índice
descendente por la misma columna de la Primary Key si quieres que lo
utilice.

Saludos.

Walter.



2013/5/27 Bruno Dias <brunodila em gmail.com>

> Por exemplo, quando troco para este select o Firebird utiliza o indice
>
> select cast(coalesce(max(ID_BANDA_LARGA)+1,1) as integer)
> from TB_BANDA_LARGA
> WHERE ID_BANDA_LARGA > 0
>
>
> Em 27 de maio de 2013 11:36, Bruno Dias <brunodila em gmail.com> escreveu:
>
> > Quando fiz um select simples SELECT * from TB_BANDA_LARGA, o Firebird não
> > utiliza índice, somente quando mando ordenar pelo campo que o Firebird
> > utiliza o indice:
> >
> > SELECT * from TB_BANDA_LARGA
> > order by id_banda_larga
> >
> > Obs.: Estou utilizando o Firebird 2.5.1
> >
> >
> > Em 27 de maio de 2013 11:29, Frederico Godoi <frederico.godoi em gmail.com
> >escreveu:
> >
> > Acho que quando usa CAST ele não usa índice.
> >> Faça o teste , por favor.
> >>
> >> Frederico
> >>
> >>
> >> 2013/5/27 Ricardo Rodrigues <ricardopd em gmail.com>
> >>
> >> > 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:
> >> >
> >> >
> >> >
> >> ______________________________________________
> >> 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