[firebase-br] Melhorar a performa... (PauloSXS)

paulosxs Yahoo! paulosxs em yahoo.com.br
Seg Abr 9 09:08:47 -03 2007


Dimas Bolognani escreveu:
>Estou com uma dúvida, tenho feito alguns teste e não consegui chegar a uma conclusão.
>Quando devo criar index P/ O CAMPO p/ melhorar a velocidade, quando tiver o campo na WHERE ou no ORDER BY?

Eu uso o FB há pouco tempo, mas já trabalhei muito com o MS SQL Server. No caso do MS SQL, ele utiliza o index que for conveniente para o WHERE (também escolhe o index para os JOINs). O ORDER BY é um pós-processamento, isto é, após a filtragem dos registros, a lista é ordenada. Somente quando o INDEX coveniente para o ORDER BY não afeta o WHERE é que o T-SQL antecipa a ordenação de retorno. Exemplos:

SELECT * FROM Lancamentos WHERE Data BETWEEN '2007-01-01' AND '2007-01-31' ORDER BY IdDaConta

Nesse caso, será utilizado o INDEX da Data.

SELECT * FROM Lancamentos ORDER BY Id DESC

Nesse caso, como não há WHERE, será usado o INDEX do Id.

Suponho que o FBSQL funcione de maneira semelhante.







Mais detalhes sobre a lista de discussão lista