Anda mungkin tertarik dengan Aturan Pertama Pemrograman .
Indeks berkerumun selalu mencakup semua baris. Mungkin dipesan oleh z
, tetapi akan tetap berisi semua kolom lain di tingkat daun.
Alasan SQL Server terkadang lebih memilih pemindaian berkerumun daripada pencarian indeks adalah ini. Saat Anda melakukan pencarian indeks, Anda harus menindaklanjutinya dengan pencarian bookmark ke indeks berkerumun untuk mengambil kolom yang tidak ada dalam indeks.
Saat Anda melakukan pemindaian indeks berkerumun, menurut definisi Anda menemukan semua kolom. Itu berarti tidak diperlukan pencarian bookmark.
Ketika SQL Server mengharapkan banyak baris, ia mencoba untuk menghindari pencarian bookmark. Ini adalah pilihan yang telah teruji oleh waktu. Pencarian indeks nonclustered secara rutin dikalahkan oleh pemindaian indeks clustered.
Anda dapat menguji ini untuk kasus Anda dengan memaksa baik dengan with (index(IX_YourIndex))
petunjuk kueri
.