SQL Server
SQL Server: Cepat mendapatkan jumlah baris untuk tabel, tumpukan, indeks, dan partisi
|
Bagaimana Anda cepat mendapatkan hitungan jumlah baris dalam sebuah
tabel? Utilitas kecil ini akan memungkinkan Anda untuk cepat mendapatkan
jumlah baris untuk tabel, tumpukan, indeks dan partisi. Ia bekerja
dengan SQL Server 2005 dan lebih tinggi.
Ada berbagai alasan mengapa Anda mungkin perlu mengetahui jumlah baris
dari berbagai struktur database (tabel dll), termasuk:
Partisi
Seperti tabel tumbuh, pemeliharaan sering menjadi masalah.Memisahkan
(partisi) meja horizontal, dapat menjadi solusi - memungkinkan Anda untuk
melakukan pemeliharaan pada tingkat partisi. Manfaat tambahan adalah
kinerja query dapat ditingkatkan juga.
Sebuah kata tentang nomenklatur, meja yang diperintahkan baris juga
disebut indeks berkerumun, sebuah meja yang baris-barisnya adalah unordered
disebut tumpukan, indeks non-clustered adalah indeks tambahan, dan partisi
tabel atau indeks yang datanya telah dibagi secara horizontal. Tabel
yang tidak dipartisi, hanya memiliki satu partisi, dan nilainya adalah 1.
Kadang-kadang saya gunakan
SELECT COUNT (*) DARI tableName
untuk mendapatkan jumlah baris dalam sebuah tabel, namun untuk tabel
besar, ini bisa memakan waktu yang lama untuk menjalankan.
Sebelumnya, saya telah menggunakan kolom rowcount di sys.sysindexes
Pemandangan, untuk cepat mendapatkan jumlah baris, namun Buku Online
mengatakan sys.sysindexes sudah ditinggalkan, yakni akan dihapus dari versi
masa depan dari SQL Server. Jadi cara lain untuk mendapatkan jumlah
baris yang dibutuhkan ...
Utilitas
Hal ini dimungkinkan untuk menggunakan pandangan katalog sys.partitions
dan sys.indexes untuk cepat mendapatkan jumlah baris untuk tabel, tumpukan,
indeks dan partisi.
Kode untuk utilitas ini diberikan di bawah ini dan dapat downladed dari
CodeBin.
Untuk meminimalkan efek menjalankan kode ini pada pertanyaan lain,
pernyataan pertama adalah
SET TRANSAKSI ISOLASI TINGKAT READ TERIKAT
ini memastikan tidak ada kunci yang diambil oleh kode berikutnya, dan
kode itu sendiri tidak menghormati kunci apapun.
Pernyataan utama bergabung dengan sys.partitions tampilan katalog dengan
tampilan katalog sys.indexes, pada kolom object_id dan index_id
mereka. Catatan kita menyaring setiap masukan sistem dengan memastikan
OBJECT_SCHEMA_NAME (object_id p.)
tidak sama dengan nilai 'sys'.
Kolom output Schema, Tabel, Index, partition_number, Row Count, dan Index
Type. Sebuah contoh dari output diberikan pada gambar di bawah:
![]()
Klik untuk versi yang lebih besar
Dalam screenshot tersebut, Anda dapat melihat:
Hal ini dimungkinkan untuk mengubah kode untuk menyertakan hanya meja
Anda tertarik dengan menambahkan:
|
Tidak ada komentar:
Posting Komentar