首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql查询日志格式

mysql查询日志格式
EN

Database Administration用户
提问于 2013-05-19 18:28:51
回答 2查看 17.6K关注 0票数 11

mysql查询日志的格式是什么?特别是对于以下几行:

代码语言:javascript
复制
133 Query     commit
133 Query     rollback

“133”代表什么?每一行都表示到数据库的往返通信(也就是说,它们不是批处理),这是真的吗?

EN

回答 2

Database Administration用户

回答已采纳

发布于 2013-05-20 06:07:12

典型的一般日志格式如下所示:

代码语言:javascript
复制
Time              Id Command    Argument
110208 12:12:06   771 Query rollback

多个查询可以出现在特定的时间戳上,ID也表示MySQL连接线程id,它执行了" query“类型的查询命令,该命令表示查询已经执行,参数实际上是查询本身。

票数 8
EN

Database Administration用户

发布于 2013-05-20 02:10:14

MySQL通用查询日志中,字段如下:

代码语言:javascript
复制
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‘来完成的。

票数 13
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/42532

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档