Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Powolne wykonywanie zapytania SQL (dla niektórych wartości parametrów)

Spróbuj utworzyć indeks na (DeviceId, MessageCounter DESC) .

Spróbuj też tego zapytania:

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

Tylko zgadywanie:różnica w wydajności może wynikać z tego, że DeviceId = 1 jest rozłożony na więcej stron niż DeviceId = 4 . Podejrzewam, że sortując, wyciągasz wszystkie pasujące strony, nawet jeśli wybierzesz tylko górny wiersz.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak mogę WSTAWIĆ ZBIORCZO z dodatkową kolumną pokazującą nazwę pliku?

  2. nvarchar(max) vs NText

  3. W SQL Server, jak mogę zablokować pojedynczy wiersz w sposób podobny do Oracle SELECT FOR UPDATE WAIT?

  4. Jak zignorować tagi html w Sql Server 2008 Full Text Search

  5. SQL Server 2008, różne klauzule WHERE z jednym zapytaniem