mysql 获取表大小_如何获取MySQL数据库表的大小?

我可以运行此查询来获取MySQL数据库中所有表的大小:

show table status from myDatabaseName;

我想在理解结果方面提供一些帮助。 我正在寻找最大尺寸的桌子。

我应该看哪一栏?

#1楼

SELECT TABLE_NAME AS "Table Name",

table_rows AS "Quant of Rows", ROUND( (

data_length + index_length

) /1024, 2 ) AS "Total Size Kb"

FROM information_schema.TABLES

WHERE information_schema.TABLES.table_schema = 'YOUR SCHEMA NAME/DATABASE NAME HERE'

LIMIT 0 , 30

您可以从“ information_schema ” - > SCHEMATA表 - >“ SCHEMA_NAME ”列中获取模式名称

附加您可以获得如下的mysql数据库大小 。

SELECT table_schema "DB Name",

Round(Sum(data_length + index_length) / 1024 / 1024, 1) "DB Size in MB"

FROM information_schema.tables

GROUP BY table_schema;

结果

DB Name | DB Size in MB

mydatabase_wrdp 39.1

information_schema 0.0

#2楼

SELECT

table_name AS "Table",

round(((data_length + index_length) / 1024 / 1024), 2) as size

FROM information_schema.TABLES

WHERE table_schema = "YOUR_DATABASE_NAME"

ORDER BY size DESC;

这会对大小进行排序(DB大小,以MB为单位)。

#3楼

尝试以下shell命令(将DB_NAME替换为您的数据库名称):

mysql -uroot <<

对于Drupal / drush解决方案,请检查以下示例脚本,该脚本将显示正在使用的最大表:

#!/bin/sh

DB_NAME=$(drush status --fields=db-name --field-labels=0 | tr -d '\r\n ')

drush sqlq "SELECT table_name AS 'Tables', round(((data_length + index_length) / 1024 / 1024), 2) 'Size in MB' FROM information_schema.TABLES WHERE table_schema = \"${DB_NAME}\" ORDER BY (data_length + index_length) DESC;" | head -n20

#4楼

下面是使用bash命令行解决此问题的另一种方法。

for i in mysql -NB -e 'show databases' ; do echo $i; mysql -e "SELECT table_name AS 'Tables', round(((data_length+index_length)/1024/1024),2) 'Size in MB' FROM information_schema.TABLES WHERE table_schema =\\"$i\\" ORDER BY (data_length + index_length) DESC" ; done

#5楼

使用Workbench可以轻松获取许多信息:

右键单击模式名称,然后单击“模式检查器”。

在结果窗口中,您有许多选项卡。 第一个“信息”选项卡显示了以MB为单位的数据库大小的粗略估计。

第二个选项卡“Tables”显示每个表的数据长度和其他详细信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值