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

SQL Server:JIKA ADA secara besar-besaran memperlambat kueri

Apakah Anda mencoba menjalankan kueri asli dengan TOP 1? kemungkinan besar akan sama lambatnya.

Terkadang ketika pengoptimal berpikir bahwa ada sesuatu yang sangat mungkin terjadi dan akan mengembalikan kumpulan data yang sangat besar dengan sedikit usaha (yaitu hampir semua catatan akan dikembalikan), ia memilih sebagian besar gabungan loop karena hanya perlu mendapatkan yang pertama dan yang pertama. loop join bagus untuk hanya mendapatkan beberapa catatan. Ketika itu ternyata tidak benar, butuh waktu lama dan satu hari untuk mendapatkan hasil.

Dalam kasus Anda, sepertinya sangat jarang, jadi pilihan ini sangat menyakitkan. Coba lakukan sesuatu seperti SELECT @count = COUNT(*) FROM ... dan kemudian memeriksa apakah hitungan itu bukan nol.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pulau dan celah tsql

  2. Operator agregat perkalian dalam SQL

  3. Haruskah urutan klausa kueri LINQ memengaruhi kinerja Entity Framework?

  4. Tabel Temp SQL Server vs Variabel Tabel

  5. Cara Menemukan Tabel yang Mengandung Kolom Tertentu di SQL Server