web-dev-qa-db-ja.com

MySQLスロークエリログの時間単位は何ですか?

Drupalベースのwebappからのスロークエリログを見て、次のような行があります。

# Query_time: 3257  Lock_time: 0  Rows_sent: 272  Rows_examined: 272
# Query_time: 1654  Lock_time: 0  Rows_sent: 222  Rows_examined: 222
# Query_time: 3292  Lock_time: 0  Rows_sent: 269  Rows_examined: 269
# Query_time: 1029  Lock_time: 0  Rows_sent: 172  Rows_examined: 172
# Query_time: 2126  Lock_time: 0  Rows_sent: 251  Rows_examined: 251
# Query_time: 1731  Lock_time: 0  Rows_sent: 229  Rows_examined: 229

これらの時間は、関連付けられたクエリの実行に1〜3秒以上(遅いがひどくない)、または1,000〜3,000秒以上(完全に受け入れられない)であったことを示していますか? long_query_timeオプションは秒単位で指定されていますが、ログメッセージはこれと同じ規則に従っていますか、それとも代わりにミリ秒を使用していますか?

編集:これはMySQLバージョン5.0.45でのものです。

22
aroth

秒単位です。 「マイクロ秒の分解能」とは、10進数の後に最大マイクロ秒の精度が得られることを意味します(AFAIKでは実際にそのような精度で書き込むにはパッチが必要です)。

https://github.com/wvanbergen/request-log-analyzer/wiki/MySQL-slow-query-log

21
Mchl

MySQL 5.1.21以降、10進数値を指定でき、マイクロ秒の分解能があります。 http://dev.mysql.com/doc/refman/5.1/en/slow-query-log.html

4
jcisio