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

Добавяне на ИНДЕКС към CTE

Имах същото изискване. Индексите не могат да се добавят към CTE. В CTE обаче изберете добавяне на ПОРЪЧАЙ ПО клаузата за съединените полета намали времето за изпълнение от 20 минути или повече до под 10 секунди.

(Трябва също така да добавите ADD SELECT TOP 100 PERCENT, за да разрешите ORDER BY в CTE select.)

[редактирайте, за да добавите перифразиран цитат от коментар по-долу]:
Ако имате DISTINCT в CTE, тогава TOP 100 PERCENT не работи. Този метод на измамник е винаги наличен:без изобщо да се нуждаете от TOP в избраното, променете израза ORDER BY, така че да се чете:
ORDER BY [Blah] OFFSET 0 ROWS



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

  2. Как да се свържа с SQL Server от друг компютър?

  3. SQL Server 2012 Service Pack 1 и сборна актуализация 1

  4. SQL Server:Какво означава 1 ++ 2?

  5. SQL Server и C#:вземете последния вмъкнат идентификатор