时间:2021-07-01 10:21:17 帮助过:18人阅读
mysql 5.6中sql语句统计每个索引的具体情况 http://aadant.com/blog/2014/02/04/how-to-calculate-a-specific-innodb-index-size/ 在 mysql中 ,使用 show table status like '表名'\G;可以看出具体表的情况,比如: Name: t Engine: InnoDB Version: 10 Row_
mysql 5.6中sql语句统计每个索引的具体情况CREATE TABLE `t` ( `a` smallint(6) DEFAULT NULL, `b` smallint(6) DEFAULT NULL, `c` smallint(6) DEFAULT NULL, KEY `a` (`a`), KEY `b` (`b`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1
ANALYZE table t;
SELECT
sum(stat_value) pages,
index_name,
sum(stat_value) * @@innodb_page_size size
FROM
mysql.innodb_index_stats
WHERE
table_name = 't'
AND database_name = 'test'
AND stat_description = 'Number of pages in the index'
GROUP BY
index_name;
+-------+-----------------+-----------+
| pages | index_name????? | size????? |
+-------+-----------------+-----------+
|? 8747 | GEN_CLUST_INDEX | 143310848 |
|? 4456 | a?????????????? |? 73007104 |
|? 4457 | b?????????????? |? 73023488 |
+-------+-----------------+-----------+
3 rows in set (0.00 sec)