Cuidado com Data Type diferente
Verifique se o data type da variável
VERIFIQUE SE O DATA TYPE DA VARIÁVEL É IGUAL AO DA COLUNA PESQUISADA.
Vamos criar uma tabela chamada Produto, uma coluna chamada NomeProduto do tipo varchar(50) e criar um índice para ela.
CREATE TABLE #Produto(NomeProduto varchar(50))
GO
CREATE INDEX IX_TESTE on #Produto(NomeProduto)
GO
Criaremos uns 2000 registros
INSERT INTO #Produto
SELECT 'Teste' + convert(varchar(100),rand())
GO 2000
Vamos fazer duas pesquisas, uma usando variável do tipo varchar(50) e outra do tipo nvarchar(50)
DECLARE @Nome1 nvarchar(50)
DECLARE @Nome2 varchar(50)
Select @Nome1 = 'Teste'
Select @Nome2 = 'Teste'
SELECT * FROM #Produto WHERE NomeProduto = @Nome1
SELECT * FROM #Produto WHERE NomeProduto = @Nome2
Analisando a imagem, percebemos que quando usamos um data type errado, a pesquisa utilizará um Scan(mais lento) ao invés de um Seek.
Apagando a tabela:
DROP TABLE #Produto
Related articles
Getting the last 120 months of data from my database
how to do it in SQL language?
How to create a variable to use the IN clause SELECT query SQL?
Database code part
SQL Update using Try Catch
Na prática com exemplo real
Ozimar Henrique