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

Индексът не се прилага при индексиран изглед

Трябва да използвате NOEXPAND намек. SQL Server няма да обмисли съвпадение на индексирани изгледи без това (дори ако името на изгледа е посочено в заявката), освен ако не използвате Enterprise Edition Engine.

SELECT COUNT(PStatusID) 
FROM [TestView] 
     WITH (NOEXPAND) -- this line
WHERE [PStatusID]=1

Това трябва да ви даде първия, много по-евтин план




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL Server оптимизира ли изчислението DATEADD в заявка за избор?

  2. Въведение в синонимите в SQL Server

  3. Как мога да реша Или параметърът @objname е двусмислен, или заявеният @objtype (COLUMN) е грешен.?

  4. Как да получа списък с таблици в база данни, използвайки MS SQL 2008?

  5. SQL Server 2016:Винаги криптиран