What is the unit of time in MySQL's slow-query log?
Asked Answered
W

2

26

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.

Wichern answered 4/8, 2011 at 5:29 Comment(0)
Q
23

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

Quintillion answered 4/8, 2011 at 6:38 Comment(0)
D
4

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

Diakinesis answered 30/1, 2012 at 8:1 Comment(2)
Actually it's implemented in 5.1.21+Ilario
Indeed. I don't know if the documentation was incorrect or I misread it. Updated.Diakinesis

© 2022 - 2024 — McMap. All rights reserved.