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

Mengapa ada semacam yang muncul dalam rencana eksekusi saya?

SQL Server memiliki tiga algoritme untuk dipilih ketika perlu menggabungkan dua tabel. Nested-Loops-Join, Hash-Join dan Sort-Merge-Join. Yang mana yang dipilihnya berdasarkan perkiraan biaya. Dalam hal ini, berdasarkan informasi yang tersedia, Sort-Merge-Join adalah pilihan yang tepat.

Dalam rencana eksekusi SQL Server, Sort-Merge dibagi menjadi dua operator, Sort dan Merge-Join, karena operasi sortir mungkin tidak diperlukan, misalnya jika data sudah diurutkan.

Untuk informasi lebih lanjut tentang bergabung, lihat seri bergabung saya di sini:http://sqlity.net/en/1146/a-join-a-day-introduction/ Artikel tentang Sort-Merg-Join ada di sini:http://sqlity.net/en/1480/a-join-a-day-the-sort-merge-join/

Untuk membuat kueri Anda lebih cepat, pertama-tama saya akan melihat index. Anda memiliki banyak pemindaian indeks berkerumun dalam kueri. Jika Anda dapat mengganti beberapa di antaranya dengan pencarian, kemungkinan besar Anda akan lebih baik. Periksa juga apakah perkiraan yang dihasilkan SQL Server cocok dengan jumlah baris aktual dalam rencana eksekusi yang sebenarnya. Jika mereka jauh, SQL Server sering membuat pilihan yang buruk. Jadi, memberikan statistik yang lebih baik juga dapat membantu Anda menanyakan kinerja.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Mengapa tidak SET XACT_ABORT ON perilaku default?

  2. Permintaan SQL Server Xml dengan beberapa ruang nama

  3. Solusi DevOps untuk Otomatisasi Pengembangan Basis Data

  4. Cara Menampilkan Kolasi Server di SQL Server (T-SQL)

  5. SQL Server:Cara memilih semua hari dalam rentang tanggal meskipun tidak ada data selama beberapa hari