sql >> Databáze >  >> RDS >> Sqlserver

SQL dotaz se spouští pomalu (pro některé hodnoty parametrů)

Zkuste vytvořit index na (DeviceId, MessageCounter DESC) .

Zkuste také tento dotaz:

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

Jen hádám:Rozdíl ve výkonu může být způsoben tím, že DeviceId = 1 je rozložena na více stránek než DeviceId = 4 . Mám podezření, že tříděním vybagrujete všechny odpovídající stránky, i když nakonec vyberete pouze horní řádek.



  1. MariaDB LOCALTIME() Vysvětleno

  2. Načítání dat z tabulky pomocí PL/SQL

  3. co znamená Enlist=false v připojovacím řetězci pro SQL server?

  4. Nastavení výchozího formátu data na PostgreSQL