暂无图片
mysql中慢日志中的id,thread_id的关系?
我来答
分享
暂无图片 匿名用户
mysql中慢日志中的id,thread_id的关系?

[root@test_dan data]# tail /data/mysql_8/data/test_dan-slow.log
# User@Host: root[root] @ localhost [] Id: 8
# Query_time: 3.088201 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 1 Thread_id: 8



这个慢查询,我是processlist_id=8 的会话中执行sleep (3) ,生成的,

如果

select thread_id,processlist_id from performance_schema.threads;

 54 | 8

我的 thread_id是54 ,和日志中的8 ,不符合了,请问 加粗部分的id ,thread_id ,具体指的是啥??

我来答
添加附件
收藏
分享
问题补充
3条回答
默认
最新
伟鹏

id是用于唯一标识每条被记录的慢查询,而thread_id则是关联到执行该查询的MySQL线程的操作系统线程ID

暂无图片 评论
暂无图片 有用 0
手机用户9375
2024-05-11
threads表中是54,和日志中的8,对不上了,这个怎么解释?
伟鹏

本来就不可能对的上

当启用了慢查询日志功能后,任何执行时间超过long_query_time设定值的SQL语句都会被记录到慢查询日志中。每个被记录的慢查询都会在日志中有一个唯一的id,用于区分不同的慢查询。而thread_id则代表了在MySQL内部执行这条SQL语句的线程。由于MySQL是基于单进程多线程模型运行的,因此thread_id实际上对应于操作系统层面的一个线程。

暂无图片 评论
暂无图片 有用 0
everything

Id与thead_id相同,都是对应客户端连接的connection id。
performance_schema.threads中包含了mysql内部的所有线程,包括前台线程和后台线程。慢查询输出后台线程id没有意义。

暂无图片 评论
暂无图片 有用 1
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
暂无图片墨值悬赏