Cara daftar jumlah baris setiap tabel dalam database. Beberapa setara dengan
select count(*) from table1
select count(*) from table2
...
select count(*) from tableN
Saya akan memposting solusi tetapi pendekatan lain dipersilakan
sql-server
database
kristof
sumber
sumber
dtProperties
dan seterusnya; karena itu adalah tabel "sistem", saya tidak ingin melaporkannya.Cuplikan yang saya temukan di http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=21021 yang membantu saya:
sumber
JOIN
sintaksfrom sysobjects t inner join sysindexes i on i.id = t.id and i.indid in (0,1) where t.xtype = 'U'
Untuk mendapatkan informasi itu di SQL Management Studio, klik kanan pada database, lalu pilih Laporan -> Laporan Standar -> Penggunaan Disk berdasarkan Tabel.
sumber
sumber
Seperti yang terlihat di sini, ini akan mengembalikan jumlah yang benar, di mana metode menggunakan tabel data meta hanya akan mengembalikan perkiraan.
sumber
Keluaran:
sumber
Untungnya, studio manajemen SQL Server memberi Anda petunjuk tentang cara melakukan ini. Melakukan hal ini,
Hentikan jejak dan lihat TSQL apa yang dihasilkan oleh microsoft.
Dalam kueri yang mungkin terakhir, Anda akan melihat pernyataan yang dimulai dengan
exec sp_executesql N'SELECT
ketika Anda menyalin kode yang dieksekusi ke visual studio Anda akan melihat bahwa kode ini menghasilkan semua data yang digunakan para insinyur di microsoft untuk mengisi jendela properti.
ketika Anda membuat modifikasi moderat untuk permintaan itu, Anda akan mendapatkan sesuatu seperti ini:
Sekarang kueri tidak sempurna dan Anda dapat memperbaruinya untuk memenuhi pertanyaan lain yang mungkin Anda miliki, intinya adalah, Anda dapat menggunakan pengetahuan microsoft untuk mendapatkan sebagian besar pertanyaan yang Anda miliki dengan mengeksekusi data yang Anda minati dan melacak TSQL dihasilkan menggunakan profiler.
Saya agak suka berpikir bahwa insinyur MS tahu cara kerja server SQL dan, itu akan menghasilkan TSQL yang bekerja pada semua item yang Anda dapat bekerja dengan menggunakan versi pada SSMS yang Anda gunakan sehingga cukup baik pada berbagai rilis besar sebelum peluncuran, saat ini dan masa depan.
Dan ingat, jangan hanya menyalin, cobalah untuk memahaminya juga kalau tidak, Anda mungkin berakhir dengan solusi yang salah.
Walter
sumber
Pendekatan ini menggunakan penggabungan string untuk menghasilkan pernyataan dengan semua tabel dan perhitungannya secara dinamis, seperti contoh yang diberikan dalam pertanyaan awal:
Akhirnya ini dijalankan dengan
EXEC
:sumber
Cara tercepat untuk menemukan jumlah baris semua tabel dalam SQL Refreence ( http://www.codeproject.com/Tips/811017/Fastest-way-to-find-row-count-of-all-tables-in-SQL )
sumber
Hal pertama yang terlintas dalam pikiran adalah menggunakan sp_msForEachTable
itu tidak mencantumkan nama tabel, sehingga bisa diperluas ke
Masalahnya di sini adalah bahwa jika database memiliki lebih dari 100 tabel, Anda akan mendapatkan pesan kesalahan berikut:
Jadi saya akhirnya menggunakan variabel tabel untuk menyimpan hasilnya
sumber
Jawaban yang diterima tidak berfungsi untuk saya di Azure SQL, ini salah satu yang melakukan, itu super cepat dan melakukan apa yang saya inginkan:
sumber
Skrip sql ini memberikan skema, nama tabel, dan jumlah baris setiap tabel dalam database yang dipilih:
Ref: https://blog.sqlauthority.com/2017/05/24/sql-server-find-row-count-every-table-database-efisienly/
Cara lain untuk melakukan ini:
sumber
Saya pikir cara tersingkat, tercepat dan paling sederhana adalah:
sumber
Anda bisa mencoba ini:
sumber
sumber
Dari pertanyaan ini: /dba/114958/list-all-tables-from-all-user-databases/230411#230411
Saya menambahkan jumlah catatan ke jawaban yang diberikan oleh @Aaron Bertrand yang mencantumkan semua database dan semua tabel.
sumber
Anda bisa menyalin, melewati dan mengeksekusi potongan kode ini untuk mendapatkan semua jumlah catatan tabel ke dalam tabel. Catatan: Kode dikomentari dengan instruksi
Saya telah menguji kode ini dan berfungsi baik di SQL Server 2014.
sumber
Saya ingin berbagi apa yang berfungsi untuk saya
Basis data di-host di Azure dan hasil akhirnya adalah:
Kredit: https://www.mssqltips.com/sqlservertip/2537/sql-server-row-count-for-all-tables-in-a-database/
sumber
Jika Anda menggunakan MySQL> 4.x Anda dapat menggunakan ini:
Perlu diingat bahwa untuk beberapa mesin penyimpanan, TABLE_ROWS adalah perkiraan.
sumber
Di sini
indid=1
berarti indeks CLUSTERED danindid=0
HEAPsumber