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

Pilih di mana urutan evaluasi klausa

Tidak ada jaminan untuk urutan evaluasi. Pengoptimal akan mencoba menemukan cara paling efisien untuk mengeksekusi kueri, menggunakan informasi yang tersedia.

Dalam kasus Anda, karena c diindeks dan d tidak, pengoptimal harus melihat ke dalam indeks untuk menemukan semua baris yang cocok dengan predikat pada c, lalu mengambil baris tersebut dari data tabel untuk mengevaluasi predikat pada d.

Namun, jika menentukan bahwa indeks pada c tidak terlalu selektif (walaupun tidak dalam contoh Anda, kolom gender jarang diindeks dengan berguna), ia mungkin memutuskan untuk tetap melakukan pemindaian tabel.

Untuk menentukan urutan eksekusi, Anda harus mendapatkan rencana penjelasan untuk kueri Anda. Namun, sadarilah bahwa rencana tersebut dapat berubah tergantung pada apa yang menurut pengoptimal adalah kueri terbaik saat ini.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sumProduct di sql

  2. Bagaimana Anda mengimpor file .sql MS SQL yang besar?

  3. SQL Server SHOWPLAN_ALL

  4. Kesalahan MSSQL 'Penyedia yang mendasari gagal saat Buka'

  5. SQL Server - menghentikan atau menghentikan eksekusi skrip SQL