mysql查询日志的格式是什么?特别是对于以下几行:
133 Query commit
133 Query rollback“133”代表什么?每一行都表示到数据库的往返通信(也就是说,它们不是批处理),这是真的吗?
发布于 2013-05-20 06:07:12
典型的一般日志格式如下所示:
Time Id Command Argument
110208 12:12:06 771 Query rollback多个查询可以出现在特定的时间戳上,ID也表示MySQL连接线程id,它执行了" query“类型的查询命令,该命令表示查询已经执行,参数实际上是查询本身。
发布于 2013-05-20 02:10:14
在MySQL通用查询日志中,字段如下:
yymmdd hh:mm:ss thread_id command_type query_body每次更改时间戳时都会出现时间戳。
在您的示例中,"133“将是连接客户端的线程id,如SHOW PROCESSLIST;所示。
每一行代表一个发出的查询,但不一定是从客户端到数据库的往返,因为在存储过程和存储函数中发出的查询也会被记录下来,而一个proc或函数在运行时,可以针对一个客户端的单个查询发出许多查询。
此外,MySQL C-API是一些语言与MySQL的连接器的基础库,它支持多语句执行,这将是另一种情况,即多个查询不一定代表多个往返,因为多个查询可以作为“批处理”发送到数据库.但是,只有在调用应用程序使用此功能时,这才是一个因素。
通用日志还可以被指示写入mysql.general_log表,这比基于文件的日志更容易解析和分析,但在使用该格式时,上面的一般观察也适用。
慢速查询日志包含更多信息,因此为理解服务器的执行情况提供了更多的信息日志,并且可以通过配置MySQL来将所有查询解释为满足“慢速”标准,从而将其用作所有查询的日志。这是通过启用慢速查询日志后将long_query_time设置为'0‘来完成的。
https://dba.stackexchange.com/questions/42532
复制相似问题