A ordem de classificação afeta o desempenho?

Esta dica foi extraída de uma série de dicas apresentadas na SQL Server Magazine. Para obter outras dicas, visite a Central de dicas e truques do SQL Server (em inglês).

P. Tenho visto informações sobre como a ordem de classificação afeta o desempenho no SQL Server 6.5, mas não consigo encontrar informações semelhantes sobre o desempenho da ordem de classificação no SQL Server 2000 ou no SQL Server 7.0. Estou tentando decidir se faz sentido utilizar a classificação binária no meu aplicativo SQL Server 2000. Existem diferenças em termos de desempenho entre as ordens de classificação às quais o SQL Server 2000 oferece suporte?

R. Lembre-se de que a diferença em termos de desempenho entre as ordens de classificação limita-se ao número de ciclos de CPU que o SQL Server consome classificando e comparando dados. Uma ordem de classificação mais rápida não significa necessariamente um melhor desempenho. Na verdade, a escolha de uma ordem de classificação "mais rápida", como a binária, pode causar quedas de desempenho em outras partes do aplicativo.

Por exemplo, digamos que você tenha uma consulta que pesquise por sobrenome (last_name). As regras da classificação binária ditam que Smith e smith não têm o mesmo significado. Os desenvolvedores do aplicativo poderiam implementar uma lógica comercial que exija que todos os dados estejam em maiúsculas ou minúsculas. Porém, uma solução mais prática é utilizar uma função UPPER() ou LOWER() para os dados da tabela ao fazer uma busca. Infelizmente, o SQL Server não poderá usar um índice para procurar dados se uma função como UPPER() utilizar uma coluna indexada. Provavelmente será necessário utilizar uma pesquisa de tabela em vez de um índice. Nesse caso, qualquer ganho de desempenho obtido com o uso da classificação binária é mais que neutralizado pelo imenso impacto no desempenho decorrente da pesquisa de tabela completa. Não leve em conta as possíveis diferenças no desempenho entre as ordens de classificação, apenas determine qual delas é mais adequada às necessidades dos desenvolvedores e usuários finais do seu aplicativo.

—SQL Server MVPs

Início da página