Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Убеждаване на SQL сървъра да търси назад в клъстериран индекс за схема само за вмъкване

SQL Server не е в състояние да създаде такъв план за заявка от 2012 г. Пренапишете заявката:

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

Това води до план, който прави търсене в spotquote таблица за идентификатор, който посочите. Това е най-доброто, което можем да направим. SQL Server не може да прекрати агрегиране веднага щом всички групи, които ви интересуват, имат поне една стойност.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Групиране на общия брой активни потребители за всяка от предходните 8 седмици

  2. Ограничение, което позволява само една от двете таблици да препраща към основна таблица

  3. SQL Server 2008 Разделен низ от полето в записа

  4. Как да генерирам минутни интервали между две дати в T-SQL?

  5. Динамично създаване на колони sql