「MySQL」- 查询 INFORMATION_SCHEMA.TABLES 巨慢

问题描述

在 MySQL 5.6 中你个,执行如下 SQL 语句,需要 6min 左右:

SELECT SUM(DATA_LENGTH + INDEX_LENGTH) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='foo';

同量级的表秒出查询结果,约在 (0.05 sec) 左右。

问题原因

在数据库中,有几个表使用 FEDERATED 引擎,而远程的数据库无法连接,导致

解决办法

相关链接

Select from information_schema tables very slow

Solving INFORMATION_SCHEMA slowness
MySQL 5.6 Reference Manual/EXPLAIN Statement
MySQL 5.6 Reference Manual/Configuring Non-Persistent Optimizer Statistics Parameters
MySQL 5.6 Reference Manual/Configuring Persistent Optimizer Statistics Parameters
MySQL 5.6 Reference Manual/InnoDB Startup Options and System Variables/innodb_stats_on_metadata
MySQL 5.6 Reference Manual/InnoDB Startup Options and System Variables/innodb_stats_persistent