Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Menambahkan INDEX ke CTE

Saya memiliki persyaratan yang sama. Indeks tidak dapat ditambahkan ke CTE. Namun, di CTE pilih tambahkan ORDER BY klausa pada bidang yang digabungkan mengurangi waktu eksekusi dari 20 menit atau lebih menjadi di bawah 10 detik.

(Anda juga perlu MENAMBAHKAN SELECT TOP 100 PERCENT untuk memungkinkan ORDER BY di CTE pilih.)

[edit untuk menambahkan kutipan parafrase dari komentar di bawah]:
Jika Anda memiliki DISTINCT di CTE maka TOP 100 PERCENT tidak berfungsi. Cara cheat ini selalu ada :tanpa perlu TOP sama sekali di pilih, ubah statement ORDER BY menjadi :
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. Cara membuat alias database di SQL Server

  2. Cara membuat Batasan Kunci Asing dengan ON DELETE CASCADE di SQL Server - Tutorial SQL Server / TSQL Bagian 80

  3. Temukan karakter non-ASCII di kolom varchar menggunakan SQL Server

  4. Menggunakan tupel dalam klausa SQL IN

  5. SQL - urutan dengan urutan daftar