在优化数据库性能时,了解每个表的大小至关重要。通过使用 SQL 查询,可以轻松查看数据库中所有表的当前大小。这对于识别需要收缩或删除的大型表非常有用。
如何查询表大小
使用以下 SQL 语句查询数据库中所有表的大小:
sql
SELECT table_name,
table_schema,
round(((data_length + index_length) / 1024 / 1024), 2) AS table_size_mb
FROM information_schema.tables
ORDER BY (data_length + index_length) DESC;
table_name 列显示表的名称, table_schema 列显示表的模式, table_size_mb 列显示表的近似大小(以兆字节为单位)。
结果解释
查询结果将显示一个包含以下信息表的表格:
* **表名称:**表的名称。
* **表模式:**表的模式(通常是数据库名称)。
* **表大小 (MB):**表的近似大小,以兆字节为单位。
按表大小降序排列结果,以便您可以轻松识别最大的表。
示例输出
以下是一个示例输出,显示数据库中几个表的近似大小:
| 表名称 | 表模式 | 表大小 (MB) |
|---|---|---|
| users | my_database | 10.23 |
| orders | my_database | 5.67 |
| products | my_database | 3.14 |
| logs | my_database | 1.59 |
注意事项
* 对于大型数据库,此查询可能会执行较长时间。
* 此查询提供的表大小只是一个近似值,因为它不考虑碎片或其他开销。
* 某些数据库管理系统(DBMS)可能需要调整查询以适合其特定语法。