Di MySQL, Anda dapat memeriksa ukuran semua tabel dalam database tertentu (atau di semua database) dengan membuat kueri information_schema.tables
meja. Tabel ini menyimpan data tentang setiap tabel dalam database, termasuk informasi tentang ukuran setiap tabel, tanggal pembuatan, susunan, dll.
Anda juga dapat menemukan ukuran setiap tabel dalam database dengan menggunakan GUI MySQL Workbench.
Artikel ini memberikan ikhtisar singkat tentang setiap metode.
Contoh Kode
Berikut adalah contoh kueri SQL yang mengembalikan ukuran tabel dalam database.
SELECT table_name 'Table Name', data_length + index_length 'Size in Bytes', ROUND(((data_length + index_length) / 1024 / 1024), 2) 'Size in MiB' FROM information_schema.tables WHERE table_schema = 'sakila' ORDER BY (data_length + index_length) DESC;
Hasil:
+----------------------------+---------------+-------------+ | Table Name | Size in Bytes | Size in MiB | +----------------------------+---------------+-------------+ | rental | 2785280 | 2.66 | | payment | 2228224 | 2.13 | | inventory | 376832 | 0.36 | | film | 278528 | 0.27 | | film_actor | 278528 | 0.27 | | film_text | 196608 | 0.19 | | customer | 131072 | 0.13 | | address | 114688 | 0.11 | | staff | 98304 | 0.09 | | film_category | 81920 | 0.08 | | city | 65536 | 0.06 | | store | 49152 | 0.05 | | actor | 32768 | 0.03 | | country | 16384 | 0.02 | | language | 16384 | 0.02 | | category | 16384 | 0.02 | | staff_list | 0 | 0.00 | | customer_list | 0 | 0.00 | | nicer_but_slower_film_list | 0 | 0.00 | | actor_info | 0 | 0.00 | | sales_by_film_category | 0 | 0.00 | | film_list | 0 | 0.00 | | sales_by_store | 0 | 0.00 | +----------------------------+---------------+-------------+
Ini mengembalikan ukuran setiap tabel di sakila
basis data. Ganti sakila
dengan nama database yang bersangkutan. Tentu saja, Anda dapat menghilangkan WHERE
klausa sama sekali, dan ini akan mengembalikan ukuran tabel dari semua tabel di semua database, tetapi ini akan menjadi daftar yang panjang.
Dalam hal ini, saya telah mengurutkan hasil berdasarkan ukuran tabel dalam urutan menurun. Saya juga telah menambahkan kolom dengan ukuran yang dikonversi ke MiB (Mebibytes).
Metode lain untuk mengonversi ukuran adalah dengan menggunakan sys.FORMAT_BYTES()
fungsi.
Fungsi sys.FORMAT_BYTES()
Anda dapat menggunakan sys.FORMAT_BYTES()
berfungsi untuk mengubah ukuran dari byte menjadi bytes
, KiB
(kibibyte), MiB
(mebibyte), GiB
(gibibyte), TiB
(tebibyte), atau PiB
(pebibytes), dengan indikator unit ditambahkan ke nilai. Indikator unit ditambahkan secara otomatis. Fungsi akan memutuskan unit mana yang akan dikonversi, bergantung pada ukuran nilainya, jadi Anda tidak memiliki kendali atas unit mana yang akan digunakan.
Berikut ini contoh penggunaan metode ini:
SELECT table_name 'Table Name', data_length + index_length 'Size in Bytes', sys.FORMAT_BYTES((data_length + index_length)) 'Size (Formatted)' FROM information_schema.tables WHERE table_schema = 'sakila' ORDER BY (data_length + index_length) DESC;
Hasil:
+----------------------------+---------------+------------------+ | Table Name | Size in Bytes | Size (Formatted) | +----------------------------+---------------+------------------+ | rental | 2785280 | 2.66 MiB | | payment | 2228224 | 2.12 MiB | | inventory | 376832 | 368.00 KiB | | film | 278528 | 272.00 KiB | | film_actor | 278528 | 272.00 KiB | | film_text | 196608 | 192.00 KiB | | customer | 131072 | 128.00 KiB | | address | 114688 | 112.00 KiB | | staff | 98304 | 96.00 KiB | | film_category | 81920 | 80.00 KiB | | city | 65536 | 64.00 KiB | | store | 49152 | 48.00 KiB | | actor | 32768 | 32.00 KiB | | category | 16384 | 16.00 KiB | | country | 16384 | 16.00 KiB | | language | 16384 | 16.00 KiB | | actor_info | 0 | 0 bytes | | customer_list | 0 | 0 bytes | | film_list | 0 | 0 bytes | | nicer_but_slower_film_list | 0 | 0 bytes | | sales_by_film_category | 0 | 0 bytes | | sales_by_store | 0 | 0 bytes | | staff_list | 0 | 0 bytes | +----------------------------+---------------+------------------+
MySQL Workbench
Jika Anda menggunakan GUI MySQL Workbench, Anda dapat mengarahkan dan mengklik ke ukuran tabel. Begini caranya:
- Navigasi ke database di
Schemas
panel - Arahkan kursor ke database yang berlaku
- Klik ikon informasi kecil di samping nama database. Ini memuat informasi tentang database, termasuk perkiraan ukuran, jumlah tabel, susunan, dll.
- Klik
Tables
tab. Ini menampilkan informasi tentang setiap tabel dalam database, termasuk panjang data dan panjang indeks.