Di PHPMyAdmin Anda dapat melihat penggunaan ruang hanya dengan mengklik pada tabel.
AR.
Jawaban untuk pertanyaan ini membantu saya mendapatkan solusi. Pencarian menyeluruh untuk alat yang dapat membantu saya tanpa mengeksekusi permintaan yang sama setiap kali untuk mendapatkan data membuat saya melalui MONyog , MySQL Enterprise Monitor , Percona toolkit . Semua dari mereka memang memberikan detail pada info disk, tetapi akhirnya memilih MONyog untuk grafik grafik yang lebih baik dan GUI yang mudah.
Mathew
Jawaban:
285
Untuk tabel, mydb.mytablejalankan ini untuk:
Byte
SELECT(data_length+index_length) tablesize
FROM information_schema.tables
WHERE table_schema='mydb'and table_name='mytable';
KILOBYTES
SELECT(data_length+index_length)/power(1024,1) tablesize_kb
FROM information_schema.tables
WHERE table_schema='mydb'and table_name='mytable';
MEGABYTES
SELECT(data_length+index_length)/power(1024,2) tablesize_mb
FROM information_schema.tables
WHERE table_schema='mydb'and table_name='mytable';
GIGABYTES
SELECT(data_length+index_length)/power(1024,3) tablesize_gb
FROM information_schema.tables
WHERE table_schema='mydb'and table_name='mytable';
UMUM
Berikut ini adalah permintaan umum di mana tampilan unit maksimum adalah TB (TeraBytes)
SELECT (data_length+index_length)/power(1024,2) tablesize_mb, table_name FROM information_schema.tables WHERE table_schema='mydb' order by tablesize_mb;untuk mendapatkan daftar semua tabel mydbdengan nama dan ukuran, dipesan berdasarkan ukuran.
kqw
1
Tambahkan "DESC" ke klausa ORDER BY untuk melihat tabel yang menggunakan lebih banyak ruang disk terlebih dahulu. ;)
mvsagar
Lebih tepatnya, Anda mungkin ingin memanggil satuan ki bi byte (KiB), saya bi byte (MiB) dan gi bi byte (GiB) saat menggunakan awalan biner (penggandaan dengan kekuatan 2). Atau, Anda mungkin ingin menggunakan awalan desimal (perkalian dengan kekuatan 1000) dan kemudian memanggil satuan ki lo byte (KB), saya ga byte (MB) dan gi ga byte (GB). Lihat lebih lanjut: en.wikipedia.org/wiki/Binary_prefix
Márton Tamás
Adakah yang tahu cara melakukan hal yang sama di MSSQL?
Pertanyaannya adalah bertanya bagaimana mengukur ruang yang diambil oleh tabel tertentu .
Flimm
@ShariqueAbdullah ini akan berfungsi jika Anda menggunakan innodb_file_per_table, yang tidak standar, tapi saya pikir ini sangat umum dan / atau disarankan (seseorang dapat dengan mudah membuktikan saya salah tentang hal ini, hanya kesan saya).
Seaux
@Seaux, Mungkin, tapi saya belum menemukannya digunakan dalam pengaturan server yang direkomendasikan yang saya lalui. Jadi Anda mungkin benar, tetapi karena ini bukan default, ia mungkin tidak menemukannya. Juga, saya pikir fungsi innodb sangat berbeda dibandingkan dengan MyISAM. Jadi, bahkan jika Anda memiliki ukuran file, itu mungkin tidak seakurat dalam kasus MyISAM. Tapi Anda benar yang mungkin menjadi salah satu solusi. Saya pribadi lebih suka menggunakan perintah MySQL untuk mendapatkan info ini daripada mengukur ukuran file.
Sharique Abdullah
2
Berdasarkan jawaban RolandMySQLDBA saya pikir kita bisa menggunakan di atas untuk mendapatkan ukuran setiap skema dalam sebuah tabel:
SELECT table_schema, SUM((data_length+index_length)/power(1024,1)) tablesize_kb
FROM information_schema.tables GROUPBY table_schema;
Setiap tabel disimpan dalam beberapa file terpisah di dalam folder yang dinamai apa pun yang Anda sebut basis data Anda. Folder-folder ini disimpan dalam direktori data mysql.
Dari sana Anda dapat melakukan 'du -sh. *' Untuk mendapatkan ukuran tabel pada disk.
Anda dapat memeriksa ukuran tabel MySQL dengan melihat di phpMyAdminpanel kontrol Anda dengan mengklik nama database di bingkai kiri dan membaca ukuran tabel di sana di bingkai kanan.
Kueri di bawah ini juga akan membantu untuk mendapatkan informasi yang sama bytes
select SUM(data_length)+ SUM(index_length)as total_size
from information_schema.tables
where table_schema ='db_name'and table_name='table_name';
Jawaban:
Untuk tabel,
mydb.mytable
jalankan ini untuk:Byte
KILOBYTES
MEGABYTES
GIGABYTES
UMUM
Berikut ini adalah permintaan umum di mana tampilan unit maksimum adalah TB (TeraBytes)
Cobalah !!!
sumber
SELECT (data_length+index_length)/power(1024,2) tablesize_mb, table_name FROM information_schema.tables WHERE table_schema='mydb' order by tablesize_mb;
untuk mendapatkan daftar semua tabelmydb
dengan nama dan ukuran, dipesan berdasarkan ukuran.Bit cepat SQL untuk mendapatkan 20 tabel terbesar di MB.
Semoga bermanfaat bagi seseorang!
sumber
Ini tidak akan akurat untuk tabel InnoDB. Ukuran pada disk sebenarnya lebih besar dari yang dilaporkan melalui kueri.
Silakan lihat tautan ini dari Percona untuk informasi lebih lanjut.
https://www.percona.com/blog/2008/12/16/how-much-space-does-empty-innodb-table-take/
sumber
Di linux dengan mysql diinstal secara default:
berdasarkan lokasi mysql db NIXCRAFT
sumber
Berdasarkan jawaban RolandMySQLDBA saya pikir kita bisa menggunakan di atas untuk mendapatkan ukuran setiap skema dalam sebuah tabel:
Sangat menyukainya!
sumber
Anda mungkin dapat melihat ukuran file ...
Setiap tabel disimpan dalam beberapa file terpisah di dalam folder yang dinamai apa pun yang Anda sebut basis data Anda. Folder-folder ini disimpan dalam direktori data mysql.
Dari sana Anda dapat melakukan 'du -sh. *' Untuk mendapatkan ukuran tabel pada disk.
sumber
Diambil dari Bagaimana cara memeriksa berapa banyak ruang disk yang digunakan database saya?
Kueri di bawah ini juga akan membantu untuk mendapatkan informasi yang sama
bytes
sumber
Saya hanya akan menggunakan alat ' mysqldiskusage ' sebagai berikut
sumber