What is the unit of time in MySQL's slow-query

2019-02-07 22:53发布

I'm looking at the slow query log from a drupal-based webapp, and have lines that look like this:

# 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

Are these times indicating that the associated queries took between 1 and 3+ seconds (slow but not terrible) to execute, or between 1,000 and 3,000+ seconds (completely unacceptable)? I understand that the long_query_time option is specified in seconds, but do the log messages follow this same convention, or do they use milliseconds instead?

Edit: this is with MySQL version 5.0.45.

标签: mysql logging
2条回答
趁早两清
2楼-- · 2019-02-07 23:33

Only since MySQL 5.1.21 that you can specify a decimal value and has a resolution of microsecond. http://dev.mysql.com/doc/refman/5.1/en/slow-query-log.html

查看更多
Animai°情兽
3楼-- · 2019-02-07 23:43

It's in seconds. The 'resolution of microseconds' means, that you can have up to microsecond precision after a decimal (although AFAIK it need a patch to actually write with such precision)

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

查看更多
登录 后发表回答