Tampilan sistem sys.partitions
memiliki kolom "baris" yang merupakan jumlah total baris dalam partisi yang diberikan. Untuk tabel yang tidak dipartisi (atau hanya memiliki satu partisi tergantung pada bagaimana Anda melihatnya), kolom ini memberikan jumlah baris dalam tabel.
Saya ingin tahu seberapa akurat kolom ini dan apakah saya dapat menggunakannya sebagai ganti SELECT COUNT(1) FROM TableName
. Saya telah melakukan beberapa percobaan di mana membuat tabel dan menambahkan beberapa ribu baris, menghapus beberapa ratus, menambahkan beberapa ribu lebih dll dan penghitungan selalu mati. Namun saya punya satu meja dengan sekitar 700 mil baris dan beberapa indeks. Baris sys.partitions
untuk indeks berkerumun lagi mati, namun indeks lain menunjukkan beberapa variasi kecil (+ -20k).
Adakah yang tahu bagaimana baris ini dihitung dan apakah seakurat itu muncul?
sumber
Jawaban:
Books Online menyatakan bahwa bidang baris "menunjukkan perkiraan jumlah baris di partisi ini." Karena itu saya berharap itu menjadi dekat, tetapi tidak 100% akurat, 100% dari waktu.
Michael Zilberstein melaporkan contoh
sys.partitions
kesalahan yang salah di For want of nail . Tidak mengatakan itu adalah kejadian umum, tetapi itu mungkin.sys.dm_db_index_physical_stats
berisirecord_count
bidang yang tampaknya lebih akurat, meskipun waspada menjalankan DMV dapat mengakibatkan masalah pemblokiran REDO jika Anda menjalankannya pada contoh hosting Replikasi Sekunder yang Selalu Dapat Dibaca.The penjelasan untuk
record_count
lapangan menunjukkan info berikut:Lihat juga jawaban Martin Smith untuk pertanyaan serupa tentang Stack Overflow.
sumber