Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Cara Memeriksa Ukuran Semua Tabel dalam Database di MySQL

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:

  1. Navigasi ke database di Schemas panel
  2. Arahkan kursor ke database yang berlaku
  3. Klik ikon informasi kecil di samping nama database. Ini memuat informasi tentang database, termasuk perkiraan ukuran, jumlah tabel, susunan, dll.
  4. Klik Tables tab. Ini menampilkan informasi tentang setiap tabel dalam database, termasuk panjang data dan panjang indeks.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Fungsi String MySQL (Daftar Lengkap)

  2. PHP - Amankan halaman khusus anggota dengan sistem login

  3. mysqli_stmt::bind_param():Jumlah elemen dalam string definisi tipe tidak cocok dengan jumlah variabel bind

  4. Alternatif MySQL Workbench - Manajemen Pengguna Database ClusterControl

  5. Bagaimana cara mengaktifkan Log Kueri MySQL?