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

SQL Server 2008 - Permintaan Bersyarat

sumber terbaik untuk kondisi pencarian dinamis:

Kondisi Penelusuran Dinamis di T-SQL oleh Erland Sommarskog

ada banyak implikasi halus tentang bagaimana Anda melakukan ini, apakah indeks dapat digunakan atau tidak. Jika Anda menggunakan rilis SQL Server 2008 yang tepat, Anda cukup menambahkan OPTION (RECOMPILE) ke kueri dan nilai variabel lokal pada waktu proses digunakan untuk pengoptimalan.

Pertimbangkan ini, OPTION (RECOMPILE) akan mengambil kode ini (di mana tidak ada indeks yang dapat digunakan dengan kekacauan OR . ini s):

WHERE
    (@search1 IS NULL or [email protected])
    AND (@search2 IS NULL or [email protected])
    AND (@search3 IS NULL or [email protected])

dan optimalkan saat dijalankan (asalkan hanya @Search2 yang diteruskan dengan nilai):

WHERE
    [email protected]

dan indeks dapat digunakan (jika Anda memilikinya di Kolom2)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. 3 Cara Mendapatkan Job Steps dari SQL Server Agent Job (T-SQL)

  2. Kapan Anda akan menggunakan fungsi bernilai tabel?

  3. Haruskah saya menggunakan kolom varchar(max) sebaris atau menyimpannya di tabel terpisah?

  4. Protokol Konfigurasi Jaringan Server Sql Tidak Tersedia

  5. Cara Membuat Prosedur Tersimpan Terikat Skema di SQL Server