[firebase-br] DESCENDING e UNIQUE no mesmo indice

Daniel / Tecnobyte temp em tecnobyte.com.br
Qua Dez 22 20:20:18 -03 2004


> CREATE DESCENDING INDEX IN_CODIGO_NOTA_FISCAL ON NOTA_FISCAL
> (CODIGO_NOTA_FISCAL);
> A finalidade do indice acima é de acelear MAX(codigo_nota_fiscal) + 1
> para gerar codigo da nota fiscal sequencial.
>
> CREATE UNIQUE INDEX UK_CODIGO_NOTA_FISCAL ON NOTA_FISCAL
> (CODIGO_NOTA_FISCAL);
> A finalidade do indice acima é de manter o código da nota fiscal único.
>
> Se criar apenas um indice para exercer as duas funções acima sendo o mesmo
> indice com
> DESCENDING e UNIQUE, terei alguma desvantagem?
> Paulo Geloramo


Neste seu caso recomendo usar apenas um índice UNIQUE DESCENDING pelos
motivos abaixo:

1. Qualquer índice é rápido para localizar uma chave específica ou intervalo
de chaves. Logo não faz diferença ser ASCENDING ou DESCENDING.

2. O Firebird só usará índice para calcular MAX se o índice for DESCENDING.

Então use as duas opções no mesmo índice!


Atenciosamente.

Daniel P. Guimarães
Tecnobyte Informática
www.tecnobyte.com.br





Mais detalhes sobre a lista de discussão lista