Como posso reescrever where col % 5 = 4
no SQL Server. O motivo para reescrever isso é porque estou selecionando algumas colunas da tabela com base nessa condição. Por causa de % usado onde está causando varredura de índice em vez de busca. Por favor me ajude com isso.
relate perguntas
-
SQL Server - Como as páginas de dados são armazenadas ao usar um índice clusterizado
-
Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?
-
Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?
-
Quais são as principais causas de deadlocks e podem ser evitadas?
-
Como determinar se um Índice é necessário ou necessário
A maneira mais fácil seria adicionar uma coluna computada à tabela com seu cálculo de mod e, em seguida, criar um índice ou adicioná-lo a um índice existente.
Por exemplo:
Outra alternativa é criar uma exibição indexada selecionando o que você precisa na tabela, mais uma coluna com o cálculo do mod e referir-se a isso em suas consultas. Você faz isso declarando a exibição como schemabinding e, em seguida, criando um índice clusterizado nela como se fosse uma tabela.
Se estiver usando Enterprise Edition, talvez não seja necessário alterar sua consulta para usar a exibição. Caso contrário, você precisará referenciar a exibição explicitamente e usar a
NOEXPAND
dica. A coluna computada indexada é a solução mais leve.