如何获取mysql数据库的大小? 假设目标数据库名为“v3”。
当前回答
第一次登录MySQL使用
Mysql -u username -p
命令以MB为单位显示单个数据库及其表的大小。
SELECT table_name AS "Table",
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)"
FROM information_schema.TABLES
WHERE table_schema = "database_name"
ORDER BY (data_length + index_length) DESC;
将database_name更改为您的Database
命令显示具有其属性的所有数据库 大小以MB为单位。
SELECT table_schema AS "Database",
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)"
FROM information_schema.TABLES
GROUP BY table_schema;
其他回答
如果你想要排序所有数据库大小的列表,你可以使用:
SELECT *
FROM (SELECT table_schema AS `DB Name`,
ROUND(SUM(data_length + index_length) / 1024 / 1024, 1) AS `DB Size in MB`
FROM information_schema.tables
GROUP BY `DB Name`) AS tmp_table
ORDER BY `DB Size in MB` DESC;
或者,如果使用phpMyAdmin,可以在数据库结构选项卡的页脚中查看表大小的总和。实际的数据库大小可能略大于这个大小,但它似乎与上面提到的table_schema方法一致。
的截图:
要获得以MB为单位的结果:
SELECT
SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024), 2)) AS "SIZE IN MB"
FROM INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = "SCHEMA-NAME";
要获得GB的结果:
SELECT
SUM(ROUND(((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024 / 1024), 2)) AS "SIZE IN GB"
FROM INFORMATION_SCHEMA.TABLES
WHERE
TABLE_SCHEMA = "SCHEMA-NAME";
第一次登录MySQL使用
Mysql -u username -p
命令以MB为单位显示单个数据库及其表的大小。
SELECT table_name AS "Table",
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS "Size (MB)"
FROM information_schema.TABLES
WHERE table_schema = "database_name"
ORDER BY (data_length + index_length) DESC;
将database_name更改为您的Database
命令显示具有其属性的所有数据库 大小以MB为单位。
SELECT table_schema AS "Database",
ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) AS "Size (MB)"
FROM information_schema.TABLES
GROUP BY table_schema;
另外:如果有人想获取单个表的大小,请使用以下代码:
SELECT
TABLE_NAME AS `Table Name`,
ROUND((DATA_LENGTH + INDEX_LENGTH) / 1024 / 1024) AS `Size ( in MB)`
FROM
information_schema.TABLES
WHERE
TABLE_SCHEMA = "your_db_name"
AND
TABLE_NAME = "your_single_table_name"
ORDER BY
(DATA_LENGTH + INDEX_LENGTH)
DESC;
注意:它不会显示使用ROUND()方法的分数。
希望这能对我们中的许多人有所帮助。
推荐文章
- 比较两个SQL Server数据库(模式和数据)的最佳工具是什么?
- 警告用户/local/mysql/data目录不属于mysql用户
- 如何检查一个表是否存在于给定的模式中
- 添加一个复合主键
- 如何在SQL Server Management Studio中查看查询历史
- 无法添加或更新子行:外键约束失败
- 如何从本地机器mysqldump远程数据库
- 如何正确地创建复合主键- MYSQL
- 仅在Datetime列上按日期分组
- 如何创建数据库的MongoDB转储?
- 在MySQL数据库中存储货币值的最佳数据类型
- 如何自定义'显示进程列表'在mysql?
- 多语言数据库设计的最佳实践是什么?
- MySQL删除一些外键
- 用MySQL LEFT JOIN删除行