Cara daftar semua tabel di database saat ini, bersama-sama jumlah baris tabel.
Dengan kata lain, dapatkah Anda memikirkan permintaan untuk membuat sesuatu seperti ini di mysql?
+------------------------++------------------------+
| Tables_in_database | Number of rows |
+------------------------++------------------------+
| database 1 | 1000 |
| database 2 | 1500 |
+------------------------++------------------------+
Berbagai pendekatan disambut.
Jawaban:
Saya memiliki pendekatan yang sangat agresif menggunakan brute force Dynamic SQL
Contoh: Dalam database pengujian saya, saya mendapatkan ini
COBALAH !!!
CAVEAT: Jika semua tabel adalah MyISAM, ini akan terjadi dengan sangat cepat. Jika semua tabel adalah InnoDB, setiap tabel akan dihitung. Ini mungkin brutal dan tidak henti-hentinya untuk tabel InnoDB yang sangat besar.
sumber
FROM information_schema.tables
denganFROM show tables
. Bisakah Anda jelaskan mengapa itu tidak berhasil?SELECT DISTINCT table_schema FROM information_schema.tables
tetapi tidak tahu cara membungkus kueri Anda untuk menjalankan seluruh hasil itu. Jika saya mengetahui jawabannya, saya akan memposting di dba.stackexchange.com/q/201880/18098SELECT @CountSQL\G
Coba kueri di bawah ini tanpa kueri dinamis
sumber
Mungkin pertanyaan ini bisa membantu. Ini menunjukkan ukuran data dan jumlah catatan.
sumber
Dapatkan Hitungan Baris yang tepat untuk Semua Tabel di MySQL menggunakan skrip shell.
atur parameter dalam file parameter.config sebagai
Script untuk dihitung adalah:
simpan ini di file "mysqlrowscount.sh", Jalankan skrip ini menggunakan perintah:
sumber