[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