温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

MySQL中performance_schema.threads的线程ID含义是什么

发布时间:2021-11-08 11:28:56 来源:亿速云 阅读:432 作者:iii 栏目:MySQL数据库

这篇文章主要介绍“MySQL中performance_schema.threads的线程ID含义是什么”,在日常操作中,相信很多人在MySQL中performance_schema.threads的线程ID含义是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL中performance_schema.threads的线程ID含义是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

简单记录

如下线面3种ID到底什么意思,这个问题我一直没去看:

(root@localhost)[05:47:31] [performance_schema ;]> select THREAD_ID,PROCESSLIST_ID,THREAD_OS_ID from performance_schema.threads   ;
+-----------+----------------+--------------+| THREAD_ID | PROCESSLIST_ID | THREAD_OS_ID |+-----------+----------------+--------------+|         1 |           NULL |        17721 ||         2 |           NULL |        17728 ||         3 |           NULL |        17729 ||         4 |           NULL |        17730 ||         5 |           NULL |        17731 ||         6 |           NULL |        17732 ||         7 |           NULL |        17733 ||         8 |           NULL |        17734 ||         9 |           NULL |        17735 ||        10 |           NULL |        17736 ||        11 |           NULL |        17737 ||        12 |           NULL |        17738 ||        13 |           NULL |        17739 ||        15 |           NULL |        17743 ||        16 |           NULL |        17744 ||        17 |           NULL |        17745 ||        18 |           NULL |        17746 ||        19 |           NULL |        17747 ||        20 |           NULL |        17749 ||        21 |           NULL |        17748 ||        22 |           NULL |        17750 ||        23 |           NULL |        17751 ||        24 |           NULL |        17752 ||        25 |           NULL |        17763 ||        26 |              1 |        17764 ||        27 |              2 |        17969 ||        44 |             19 |        31424 |+-----------+----------------+--------------+
  • THREAD_ID:performance_schema里面的一个计数器如下:

PFS_thread* create_thread(PFS_thread_class *klass, const void *identity,
                          ulonglong processlist_id){
  PFS_thread *pfs;
  pfs_dirty_state dirty_state;
  pfs= global_thread_container.allocate(& dirty_state);  if (pfs != NULL)
  {
    pfs->m_thread_internal_id=
      PFS_atomic::add_u64(&thread_internal_id_counter.m_u64, 1);
    pfs->m_parent_thread_internal_id= 0;
    pfs->m_processlist_id= static_cast<ulong>(processlist_id);

thread_internal_id_counter计数器一直增加。可以看到这是performance_schema内部使用的。

  • PROCESSLIST_ID

是传入参数processlist_id,也就是我们平时show processlist出来的。一般MySQL层使用它。

  • THREAD_OS_ID

OS级别的线程ID,来自函数

 pfs->m_thread_os_id= my_thread_os_id();

到此,关于“MySQL中performance_schema.threads的线程ID含义是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI