SQL Server membagi setiap indeks menjadi hingga 200 rentang dengan data berikut (dari di sini
):
Biasanya, nilai yang paling banyak diisi masuk ke RANGE_HI_KEY .
Namun, mereka dapat masuk ke dalam jangkauan dan ini dapat menyebabkan distribusi yang tidak seimbang.
Bayangkan data ini (antara lain):
Nilai kunci Jumlah baris
1 1
2 1
3 10000
4 1
SQL Server biasanya membangun dua rentang:1 ke 3 dan 4 ke nilai populasi berikutnya, yang membuat statistik ini:
RANGE_HI_KEY RANGE_ROWS EQ_ROWS AVG_RANGE_ROWS DISTINCT_RANGE_ROWS
3 2 10000 1 2
, yang berarti ketika mencari, katakanlah, 2 , hanya ada 1 baris dan lebih baik menggunakan akses indeks.
Tetapi jika 3 masuk ke dalam rentang, statistiknya adalah sebagai berikut:
RANGE_HI_KEY RANGE_ROWS EQ_ROWS AVG_RANGE_ROWS DISTINCT_RANGE_ROWS
4 10002 1 3334 3
Pengoptimal menganggap ada 3334 baris untuk kunci 2 dan akses indeks terlalu mahal.