7

バージョン 5.5.11 の MySQL を実行していますが、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 

400 行を返すのに平均 8 秒かかります。これは既知の問題ですか?もしそうなら、パフォーマンスを改善する方法はありますか (おそらくパッチですか?)。

4

2 に答える 2

10

そこにあるヒントを使用して: http://www.mysqlperformanceblog.com/2011/12/23/solving-information_schema-slowness/

同じクエリで、秒単位から 100 ミリ秒単位に切り替えました。この設定は私の一日を救った:

innodb_stats_on_metadata=0
于 2013-09-21T08:52:28.267 に答える
3

ここで興味深い記事を見つけました: http://dev.mysql.com/doc/refman/5.5/en/information-schema-optimization.html

クエリに WHERE TABLE_SCHEMA = 'myTable' を追加したところ、パフォーマンスが大幅に向上し、8 秒から 0.2 秒になりました!

于 2011-09-06T15:01:37.303 に答える