Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

วิธีดูขนาดตารางทั้งหมดในฐานข้อมูล MySQL

ใช้ information_schema.tables

สามารถดูขนาดตารางทุกตารางในฐานข้อมูลได้ด้วยคำสั่งต่อไปนี้:

SELECT TABLE_NAME AS `ALLTABLESNAME`, 
       ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024) AS `TABLESIZEIN(MB)`
FROM information_schema.TABLES 
WHERE TABLE_SCHEMA = "yourDatabaseName" 
ORDER BY (DATA_LENGTH + INDEX_LENGTH) ASC;

ตัวอย่างการใช้งาน

mysql> SELECT TABLE_NAME AS `ALLTABLESNAME`, 
    -> ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024) AS `TABLESIZEIN(MB)`
    -> FROM information_schema.TABLES WHERE TABLE_SCHEMA = "business"
    -> ORDER BY (DATA_LENGTH + INDEX_LENGTH) ASC;

ผลลัพธ์ตัวอย่าง

+------------------------------------------------------------------+-----------------+
| ALLTABLESNAME                        | TABLESIZEIN(MB) |
+------------------------------------------------------------------+-----------------+
| studentrecordwithmyisam              | 0               |
| querydatedemo                        | 1               |
| rownumberdemo                        | 0               |
| secondtable                          | 0               |
| spacecolumn                          | 2               |
| table1                               | 0               |
| tbldemotrail                         | 2               |
| tblstudent                           | 0               |
| ... (ตารางอื่นๆ อีกมาก)             | ...             |
+------------------------------------------------------------------+-----------------+
26 rows in set (10.29 sec)

คำอธิบาย

  • DATA_LENGTH: ขนาดข้อมูล (ไบต์)
  • INDEX_LENGTH: ขนาดดัชนี (ไบต์)
  • หารด้วย 1024 สองครั้ง เพื่อแปลงเป็น MB
  • ROUND(): ปัดเศษเป็นจำนวนเต็ม