Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Consulta SQL executando lentamente (para alguns valores de parâmetro)


Tente criar um índice em (DeviceId, MessageCounter DESC) .

Além disso, tente esta consulta:
select * 
   from "Timestamps"
   where DeviceId = 1
   and MessageCounter = (SELECT MAX(MessageCounter) FROM "Timestamps" WHERE DeviceID = 1)

Apenas supondo:a diferença de desempenho pode ser porque DeviceId = 1 está espalhado por mais páginas que DeviceId = 4 . Ao classificar, suspeito que você esteja dragando todas as páginas correspondentes, mesmo que acabe selecionando apenas a linha superior.