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

Přesvědčit SQL server, aby zpětně hledal v seskupeném indexu schéma pouze pro vkládání

SQL Server není schopen vytvořit takový plán dotazů od roku 2012. Přepište dotaz:

SELECT ids.feeditem_id, MaxID
FROM (VALUES (827), (815), (806)) ids(feeditem_id)
CROSS APPLY (
 select TOP 1 ID AS MaxID
 from spotquote sq
 where sq.feeditem_id = ids.feeditem_id
 ORDER BY ID DESC
) x

Výsledkem je plán, který vyhledá spotquote tabulky podle ID, které zadáte. To je to nejlepší, co můžeme udělat. SQL Server nemůže zrušit agregaci, jakmile všechny skupiny, které vás zajímají, mají alespoň jednu hodnotu.




  1. Oracle pivot s poddotazem

  2. SQL Server:ORDER BY parametry v příkazu IN

  3. Nejlepší způsob, jak spojit nadřazené a podřízené tabulky

  4. Příkaz MySQL PREPARE v uložených procedurách