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

Agora vamos analisar o resultado da pesquisa:



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