MySQL中performance_schema.threads的线程ID含义是什么
这篇文章主要介绍“MySQL中performance_schema.threads的线程ID含义是什么”,在日常操作中,相信很多人在MySQL中performance_schema.threads的线程ID含义是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”MySQL中performance_schema.threads的线程ID含义是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
简单记录如下线面3种ID到底什么意思,这个问题我一直没去看:
(root@localhost)[05:47:31][performance_schema;]>selectTHREAD_ID,PROCESSLIST_ID,THREAD_OS_IDfromperformance_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,constvoid*identity,ulonglongprocesslist_id){PFS_thread*pfs;pfs_dirty_statedirty_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含义是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。