sql >> Database teknologi >  >> RDS >> Sqlserver

SQL-forespørgsel kører langsomt (for nogle parameterværdier)

Prøv at oprette et indeks på (DeviceId, MessageCounter DESC) .

Prøv også denne forespørgsel:

select * 
   from "Timestamps"
   where DeviceId = 1
   and MessageCounter = (SELECT MAX(MessageCounter) FROM "Timestamps" WHERE DeviceID = 1)

Bare gæt:Ydeevneforskellen kan skyldes, at DeviceId = 1 er spredt over flere sider end DeviceId = 4 . Ved at sortere formoder jeg, at du uddyber alle matchende sider, selvom du ender med kun at vælge den øverste række.



  1. Sådan bestilles data i MySql som standard

  2. Er der en MySQL, der svarer til Pythons sættype?

  3. Hash Hvad? Forstå Hash-indekser

  4. generere enum klasse fra tabel med JOOQ