Untuk WITH SAMPLE 50 PERCENT
itu berfungsi seolah-olah untuk setiap halaman data dalam tabel SQL Server membalik koin. Jika mendarat kepala maka itu membaca semua baris pada halaman. Jika mendarat, maka tidak ada yang dibaca.
Menelusuri UPDATE STATISTICS T WITH SAMPLE 50 PERCENT
panggilan di Profiler menunjukkan permintaan berikut dipancarkan
SELECT StatMan([SC0], [SB0000])
FROM (SELECT TOP 100 PERCENT [SC0],
step_direction([SC0]) OVER (ORDER BY NULL) AS [SB0000]
FROM (SELECT [C] AS [SC0]
FROM [dbo].[T] TABLESAMPLE SYSTEM (5.000000e+001 PERCENT)
WITH (READUNCOMMITTED)) AS _MS_UPDSTATS_TBL_HELPER
ORDER BY [SC0],
[SB0000]) AS _MS_UPDSTATS_TBL
OPTION (MAXDOP 1)
Dengan Plan
TABLESAMPLE SYSTEM (5.000000e+001 PERCENT)
bertanggung jawab atas pengambilan sampel dan didokumentasikan di sini
TABLESAMPLE SYSTEM
mengembalikan persentase perkiraan baris dan menghasilkan nilai acak untuk setiap halaman 8-KB fisik dalam tabel. Berdasarkan nilai acak untuk halaman dan persentase yang ditentukan dalam kueri, halaman dimasukkan dalam sampel atau dikecualikan. Setiap halaman yang disertakan mengembalikan semua baris dalam set hasil sampel.
Dokumentasi juga menyatakan
Meskipun rencana menunjukkan pemindaian tabel dilakukan, hanya halaman-halaman yang termasuk dalam set hasil yang benar-benar harus dibaca dari file data.
The STATMAN
panggilan untuk internal agregat fungsi secara singkat dijelaskan di sini