簡(jiǎn)單記錄
如下線面3種ID到底什么意思童漩,這個(gè)問(wèn)題我一直沒(méi)去看:
(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里面的一個(gè)計(jì)數(shù)器如下:
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);
作者微信:gaopp_22389860
thread_internal_id_counter計(jì)數(shù)器一直增加备典√谖眩可以看到這是performance_schema內(nèi)部使用的王污。
- PROCESSLIST_ID
是傳入?yún)?shù)processlist_id,也就是我們平時(shí)show processlist出來(lái)的曲掰。一般MySQL層使用它垃杖。
- THREAD_OS_ID
OS級(jí)別的線程ID,來(lái)自函數(shù)
pfs->m_thread_os_id= my_thread_os_id();
記錄于此 以備后用找前。
作者微信:gaopp_22389860