MySQL中的INFORMATION_SCHEMA.key_column_usage性能不佳

时间:2011-09-02 13:10:56

标签: mysql sql performance information-schema

我正在运行MySQL 5.5.11版本,查询INFORMATION_SCHEMA.key_column_usage表时的性能非常糟糕。

我有一个简单的选择请求:

SELECT REFERENCED_TABLE_NAME
       , TABLE_NAME AS TableName
       , COLUMN_NAME AS ColumnName
       , CONSTRAINT_SCHEMA AS Db 
FROM INFORMATION_SCHEMA.key_column_usage 

平均需要8秒才能返回400行。这是一个知道问题吗?如果是这样,有没有办法提高性能(补丁可能?)。

2 个答案:

答案 0 :(得分:9)

使用给出的提示: http://www.mysqlperformanceblog.com/2011/12/23/solving-information_schema-slowness/

我为同一个查询从几秒钟切换到一百毫秒。这个设置节省了我的一天:

innodb_stats_on_metadata=0

答案 1 :(得分:3)

我在这里发现了一篇有趣的文章: http://dev.mysql.com/doc/refman/5.5/en/information-schema-optimization.html

我在我的查询中添加了WHERE TABLE_SCHEMA ='myTable',并且我获得了大量的性能提升,从8秒到0.2!