2011-08-17 8 views
6

私はインデックスなしで遅いクエリとクエリをログに記録できるようにする方法素敵なオプションがあります参照:OK、インデックスなしでmySQLクエリを記録するには?

SET GLOBAL log_queries_not_using_indexes=1; 
    SET GLOBAL log_slow_queries=1; 

OK、それは私がmy.cnfの設定ファイルで指定した同じログファイルに書き込みの両方のようです:

[mysqld] 
    long_query_time   = 1 
    log-slow-queries  = /var/log/mysql/mysql-slow.log 

私が最も遅いクエリを参照してくださいmysqldumpslowを使用しますが、私は、インデックスのないクエリのことを個別に確認するために何をする必要がありますか?

私を助けてもらえますか?

ありがとうございます!

ベスト、

ヤクブ

+0

私は一度に1ステップずつ行う必要があると思います。 –

+0

ところで、ログアナライザとしてmysqlslaをチェックアウトしてください:http://hackmysql.com/mysqlsla – Dor

答えて

7

あなたがすることはできません。ログファイルはテキストファイルなので、その実行時にクエリでインデックスが使用されたかどうかを推測することはできません。すべての行を取得することが期待されている を照会し、あなたが有効にスロークエリログでこのオプションを使用している場合

: また、オプションlog-queries-not-using-indexesは必ずしもインデックス、seeを使用していないクエリをログに記録しません。ログに記録されます。 5.2.5、 「The Slow Query Log」を参照してください。 このオプションは、必ずしも インデックスが使用されていないことを意味しません。たとえば、フルインデックススキャンを使用するクエリでは のインデックスが使用されますが、インデックスでは 行の数が制限されないため、ログに記録されます。

関連する問題