如何根据数据库结构查看InnoDB如何存储我的数据?

时间:2013-11-11 12:32:20

标签: mysql database database-design innodb database-schema

是否有任何工具或命令显示InnoDB如何根据数据库结构存储我的数据库。 我想看看InnoDB如何存储我的表数据。我想更改表结构以改进删除查询。

我想看看结构如何影响删除查询的性能。

1 个答案:

答案 0 :(得分:3)

要检查它如何存储数据,您必须查看MySQL的文件夹。根据操作系统和位置设置,它可以按表或仅存储在一个大文件中。

要检查当前状态,请执行

SHOW STATUS

您也可以像这样对

应用WHERE
SHOW STATUS WHERE variable_name like '%pages%'

这将详细显示变量名称中包含“pages”的任何状态。

要检查系统的大小,我使用此命令,将其分解为每个表级别。

SELECT 
table_name AS `Table`,
concat(round(sum(table_rows)/1000000,2),'M') '# of rows',
concat(round(sum(data_length)/(1024*1024*1024),2),'G') 'Size of data',
concat(round(sum(index_length)/(1024*1024*1024),2),'G') 'Size of index',
concat(round(sum(data_length+index_length)/(1024*1024*1024),2),'G') 'Total size',
round(sum(index_length)/sum(data_length),2) 'Index fraction'
FROM information_schema.TABLES
GROUP BY table_name;

这是你在找什么?