Saya menggunakan SQL SERVER 2012
saya memiliki Auto Update Stats
ON saya di database saya.
Dari tautan di bawah ini saya mengetahui bahwa, statistik Pembaruan Otomatis akan diaktifkan untuk setiap SQRT(1000 * Table rows)
perubahan dalam baris tabel.
https://blogs.msdn.microsoft.com/srgolla/2012/09/04/sql-server-statistics-explained/
Saya membuat tabel dengan 1000 catatan
SELECT TOP 500 Row_number()OVER (ORDER BY (SELECT NULL)) rn,
name
INTO stst
FROM sys.objects
Membuat statistik
CREATE STATISTICS rn
ON stst (rn)
CREATE STATISTICS name
ON stst (name)
Memeriksa Statistik yang dibuat
DBCC show_statistics('stst', rn) -- Rows 500
DBCC show_statistics('stst', name) -- Rows 500
Sesuai formula
select SQRT(1000 * 500) -- 707.106781186548
Jadi, jika saya menambah / memodifikasi 707.106781186548
catatan di tabel saya, statistik pembaruan otomatis akan diaktifkan
Tambahkan 1000
lebih banyak catatan ke meja saya yang seharusnya lebih dari cukup untuk dipecatauto update stats
INSERT INTO stst(rn,name)
SELECT TOP 1000 Row_number()OVER (ORDER BY (SELECT NULL)) rn,
a.name
FROM sys.objects a
Untuk menembakkan auto update stats
Select * from stst
Memeriksa statistik
DBCC show_statistics('stst', rn) -- Rows 500
DBCC show_statistics('stst', name) -- Rows 500
Sayangnya masih Rows
adalah 500
saja.
Bahkan setelah memasukkan 1000
catatan ke meja saya yang jelas lebih besar daripada 707.106781186548
saat melakukan SELECT
mengapa statistik Pembaruan Otomatis tidak diaktifkan? Apa yang kulewatkan di sini