ฐานข้อมูล

Check MySQL database size using SQL query

mysql-logo SQL query สำหรับตรวจสอบเนื่อที่การใช้งานของ database และ table ต่างๆบน MySQL Check size of all database ตรวจสอบขนาดเนื่อที่ของแต่ละ database บน MySQL สามารถทำได้รันคำสั่งด้านล่าง

SELECT TABLE_SCHEMA "Data Base Name", round(sum( data_length + index_length ) / 1024 / 1024, 2) "Data Base Size in MB" FROM information_schema.TABLES GROUP BY table_schema;
+--------------------+----------------------+
| Data Base Name     | Data Base Size in MB |
+--------------------+----------------------+
| DB1                |                 0.88 |
| DB2                |                 7.73 |
| ezylinux.com       |                10.81 |
| information_schema |                 0.01 |
| performance_schema |                 0.00 |
| rail               |                 0.11 |
| DEV                |              1154.80 |
+--------------------+----------------------+
SELECT TABLE_SCHEMA "Data Base Name", round(sum( data_length) / 1024 / 1024, 2) "Data Base Size in MB",round(sum( index_length ) / 1024 / 1024, 2) "Index Size in MB" FROM information_schema.TABLES GROUP BY table_schema;
+--------------------+----------------------+-----------------------+
| Data Base Name     | Data Base Size in MB | Index Base Size in MB |
+--------------------+----------------------+-----------------------+
| CDb                |               321.58 |                366.41 |
| DB1                |                 0.95 |                  0.13 |
| daily              |                 5.95 |                  0.24 |
| information_schema |                 0.00 |                  0.01 |
| mysql              |                 0.55 |                  0.10 |
| performance_schema |                 0.00 |                  0.00 |
| Ezylinux_db        |              5880.41 |               3307.18 |
| the_db             |              1213.91 |                  6.54 |
+--------------------+----------------------+-----------------------+
8 rows in set (7.73 sec)

Check table size of specific database ตรวจสอบขนาดเนื่อที่ของแต่ละ table บน database ที่ต้องการทราบ สามารถทำได้รันคำสั่งด้านล่าง โดยแทน YOUR_DATABASE เป็นชื่อ database ที่ต้องการตรวจสอบ

SELECT TABLE_SCHEMA AS 'Database', TABLE_NAME AS 'Table', CONCAT(ROUND(((DATA_LENGTH + INDEX_LENGTH - DATA_FREE) / 1024 / 1024),2)," MB") AS Size FROM INFORMATION_SCHEMA.TABLES where TABLE_SCHEMA like 'YOUR_DATABASE';
+--------------+-----------------------+---------+
|   Database   | Table                 | Size    |
+--------------+-----------------------+---------+
| YOUDATABASE  | posts                 | 0.02 MB |
| YOUDATABASE  | rails_admin_histories | 0.03 MB |
| YOUDATABASE  | schema_migrations     | 0.02 MB |
| YOUDATABASE  | users                 | 0.05 MB |
+--------------+-----------------------+---------+
EOF.← กลับไปอ่านบทความอื่น