溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MySQL線程狀態(tài)怎么看

發(fā)布時(shí)間:2021-11-08 09:23:51 來(lái)源:億速云 閱讀:185 作者:小新 欄目:MySQL數(shù)據(jù)庫(kù)

這篇文章主要介紹了MySQL線程狀態(tài)怎么看,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

簡(jiǎn)單翻譯下:

  • After create

    當(dāng)線程在創(chuàng)建表的函數(shù)末尾創(chuàng)建表(包括內(nèi)部臨時(shí)表)時(shí),會(huì)發(fā)生這種情況。即使由于某些錯(cuò)誤而無(wú)法創(chuàng)建表,也會(huì)使用此狀態(tài)。

  • Analyzing

    線程正在計(jì)算MyISAM表鍵分布(例如,for ANALYZE TABLE)。

  • checking permissions

    線程正在檢查服務(wù)器是否具有執(zhí)行語(yǔ)句所需的權(quán)限。

  • Checking table

    該線程正在執(zhí)行表檢查操作。

  • cleaning up

    該線程已經(jīng)處理了一個(gè)命令,并準(zhǔn)備釋放內(nèi)存并重置某些狀態(tài)變量。

  • closing tables

    該線程正在將更改的表數(shù)據(jù)刷新到磁盤(pán)并關(guān)閉已使用的表。這應(yīng)該是一個(gè)快速的操作。如果沒(méi)有,請(qǐng)驗(yàn)證您的磁盤(pán)空間剩余。

  • converting HEAP to ondisk

    該線程正在將內(nèi)部臨時(shí)表從 MEMORY表轉(zhuǎn)換為磁盤(pán)表。

  • copy to tmp table

    線程正在處理一個(gè)ALTER TABLE語(yǔ)句。在創(chuàng)建具有新結(jié)構(gòu)的表但在將行復(fù)制到其中之前,將發(fā)生此狀態(tài)。

    對(duì)于處于此狀態(tài)的線程,可以使用性能模式來(lái)獲取有關(guān)復(fù)制操作的進(jìn)度。

  • Copying to group table

    如果語(yǔ)句具有不同的條件ORDER BYGROUP BY標(biāo)準(zhǔn),則按組對(duì)行進(jìn)行排序并將其復(fù)制到臨時(shí)表。

  • Copying to tmp table

    服務(wù)器正在復(fù)制到內(nèi)存中的臨時(shí)表。

  • altering table

    服務(wù)器正在執(zhí)行就地 ALTER TABLE。

  • Copying to tmp table on disk

    服務(wù)器正在復(fù)制到磁盤(pán)上的臨時(shí)表。

  • Creating index

    線程正在處理ALTER TABLE ... ENABLE KEYS一個(gè)MyISAM表。

  • Creating sort index

    線程正在處理SELECT使用內(nèi)部臨時(shí)表解析的線程 。

  • creating table

    線程正在創(chuàng)建一個(gè)表。這包括創(chuàng)建臨時(shí)表。

  • Creating tmp table

    該線程正在內(nèi)存或磁盤(pán)上創(chuàng)建臨時(shí)表。如果表在內(nèi)存中創(chuàng)建但稍后轉(zhuǎn)換為磁盤(pán)表,則該操作期間的狀態(tài)將為Copying to tmp table on disk

  • committing alter table to storage engine

    服務(wù)器已完成就地 ALTER TABLE并提交結(jié)果。

  • deleting from main table

    服務(wù)器正在執(zhí)行多表刪除的第一部分。它僅從第一個(gè)表中刪除,并保存用于從其他(引用)表中刪除的列和偏移量。

  • deleting from reference tables

    服務(wù)器正在執(zhí)行多表刪除的第二部分,并從其他表中刪除匹配的行。

  • discard_or_import_tablespace

    線程正在處理ALTER TABLE ... DISCARD TABLESPACEALTER TABLE ... IMPORT TABLESPACE聲明。

  • end

    這發(fā)生在結(jié)束,但的清理之前 ALTER TABLE, CREATE VIEWDELETE, INSERTSELECT,或 UPDATE語(yǔ)句。

  • executing

    該線程已開(kāi)始執(zhí)行語(yǔ)句。

  • Execution of init_command

    線程正在執(zhí)行init_command系統(tǒng)變量值中的語(yǔ)句 。

  • freeing items

    線程執(zhí)行了一個(gè)命令。在此狀態(tài)期間完成的一些項(xiàng)目的釋放涉及查詢緩存。這種狀態(tài)通常緊隨其后cleaning up。

  • FULLTEXT initialization

    服務(wù)器正準(zhǔn)備執(zhí)行自然語(yǔ)言全文搜索。

  • init

    出現(xiàn)這種情況的初始化之前 ALTER TABLE, DELETEINSERT, SELECT,或 UPDATE語(yǔ)句。服務(wù)器在此狀態(tài)下采取的操作包括刷新二進(jìn)制日志,InnoDB日志和一些查詢緩存清理操作。

    對(duì)于end狀態(tài),可能會(huì)發(fā)生以下操作:

    • 刪除表中的數(shù)據(jù)后刪除查詢緩存條目

    • 將事件寫(xiě)入二進(jìn)制日志

    • 釋放內(nèi)存緩沖區(qū),包括blob

  • Killed

    有人KILL 向線程發(fā)送了一個(gè)語(yǔ)句,它應(yīng)該在下次檢查kill標(biāo)志時(shí)中止。在MySQL的每個(gè)主循環(huán)中檢查該標(biāo)志,但在某些情況下,線程可能仍然需要很短的時(shí)間才能死掉。如果線程被某個(gè)其他線程鎖定,則一旦另一個(gè)線程釋放其鎖定,kill就會(huì)生效。

  • logging slow query

    該線程正在向慢查詢?nèi)罩緦?xiě)一條語(yǔ)句。

  • login

    連接線程的初始狀態(tài),直到客戶端成功通過(guò)身份驗(yàn)證。

  • manage keys

    服務(wù)器正在啟用或禁用表索引。

  • NULL

    該狀態(tài)用于該SHOW PROCESSLIST狀態(tài)。

  • Opening tables

    線程正在嘗試打開(kāi)一個(gè)表。這應(yīng)該是非??斓某绦颍怯惺裁礀|西阻止打開(kāi)。例如,一個(gè)ALTER TABLE或一個(gè) LOCK TABLE語(yǔ)句可以阻止在語(yǔ)句結(jié)束之前打開(kāi)表。

  • optimizing

    服務(wù)器正在對(duì)查詢執(zhí)行初始優(yōu)化。

  • preparing

    在查詢優(yōu)化期間發(fā)生此狀態(tài)。

  • Purging old relay logs

    該線程正在刪除不需要的中繼日志文件。

  • query end

    處理查詢后但在freeing items狀態(tài)之前發(fā)生此 狀態(tài)。

  • Receiving from client

    服務(wù)器正在從客戶端讀取數(shù)據(jù)包。Reading from net在MySQL 5.7.8之前調(diào)用此狀態(tài)。

  • Removing duplicates

    該查詢使用 SELECT DISTINCT的方式是MySQL無(wú)法在早期階段優(yōu)化掉不同的操作。因此,在將結(jié)果發(fā)送到客戶端之前,MySQL需要額外的階段來(lái)刪除所有重復(fù)的行。

  • removing tmp table

    該線程在處理SELECT 語(yǔ)句后刪除內(nèi)部臨時(shí)表。如果未創(chuàng)建臨時(shí)表,則不使用此狀態(tài)。

  • rename

    該線程正在重命名一個(gè)表。

  • rename result table

    線程正在處理一個(gè)ALTER TABLE語(yǔ)句,創(chuàng)建了新表,并重命名它以替換原始表。

  • Reopen tables

    該線程獲得了表的鎖定,但在獲取鎖定之后注意到基礎(chǔ)表結(jié)構(gòu)發(fā)生了變化。它釋放了鎖,關(guān)閉了桌子,并試圖重新打開(kāi)它。

  • Repair by sorting

    修復(fù)代碼使用排序來(lái)創(chuàng)建索引。

  • preparing for alter table

    服務(wù)器正準(zhǔn)備執(zhí)行就地 ALTER TABLE

  • Repair done

    該線程已完成對(duì)MyISAM表的多線程修復(fù) 。

  • Repair with keycache

    修復(fù)代碼通過(guò)密鑰緩存逐個(gè)創(chuàng)建密鑰。這比慢得多Repair by sorting。

  • Rolling back

    該線程正在回滾一個(gè)事務(wù)。

  • Saving state

    對(duì)于MyISAM諸如修復(fù)或分析的表操作,線程將新表狀態(tài)保存到.MYI文件頭。狀態(tài)包括諸如行數(shù), AUTO_INCREMENT計(jì)數(shù)器和密鑰分發(fā)之類的信息。

  • Searching rows for update

    該線程正在進(jìn)行第一階段以在更新之前查找所有匹配的行。如果 UPDATE要更改用于查找所涉及行的索引,則必須執(zhí)行此操作。

  • Sending data

    線程正在讀取和處理SELECT語(yǔ)句的行 ,并將數(shù)據(jù)發(fā)送到客戶端。由于在此狀態(tài)期間發(fā)生的操作往往會(huì)執(zhí)行大量磁盤(pán)訪問(wèn)(讀?。?,因此它通常是給定查詢生命周期中運(yùn)行時(shí)間最長(zhǎng)的狀態(tài)。

  • Sending to client

    服務(wù)器正在向客戶端寫(xiě)入數(shù)據(jù)包。Writing to net在MySQL 5.7.8之前調(diào)用此狀態(tài)。

  • setup

    線程正在開(kāi)始一個(gè)ALTER TABLE操作。

  • Sorting for group

    線程正在進(jìn)行排序以滿足 GROUP BY。

  • Sorting for order

    線程正在進(jìn)行排序以滿足ORDER BY

  • Sorting index

    該線程正在對(duì)索引頁(yè)面進(jìn)行排序,以便在MyISAM表優(yōu)化操作期間進(jìn)行更有效的訪

  • Sorting result

    對(duì)于SELECT聲明,這類似于Creating sort index非臨時(shí)表。

  • statistics

    服務(wù)器正在計(jì)算統(tǒng)計(jì)信息以開(kāi)發(fā)查詢執(zhí)行計(jì)劃。如果線程長(zhǎng)時(shí)間處于此狀態(tài),則服務(wù)器可能是磁盤(pán)綁定執(zhí)行其他工作。

  • System lock

    線程已經(jīng)調(diào)用 mysql_lock_tables() ,并且線程狀態(tài)尚未更新。這是一個(gè)非常普遍的狀態(tài),可能由于多種原因而發(fā)生。

    例如,線程將請(qǐng)求或正在等待表的內(nèi)部或外部系統(tǒng)鎖定。InnoDB在執(zhí)行期間等待表級(jí)鎖定時(shí)會(huì) 發(fā)生這種情況LOCK TABLES。如果此狀態(tài)是由外部鎖的請(qǐng)求引起的,并且您沒(méi)有使用多個(gè)訪問(wèn)相同 表的mysqld服務(wù)器,則MyISAM可以使用該--skip-external-locking 選項(xiàng)禁用外部系統(tǒng)鎖 。但是,默認(rèn)情況下禁用外部鎖定,因此該選項(xiàng)很可能無(wú)效。對(duì)于 SHOW PROFILE,這個(gè)狀態(tài)意味著線程正在請(qǐng)求鎖定(不等待它)。

  • update

    線程正準(zhǔn)備開(kāi)始更新表。

  • Updating

    線程正在搜索要更新的行并正在更新它們。

  • updating main table

    服務(wù)器正在執(zhí)行多表更新的第一部分。它僅更新第一個(gè)表,并保存用于更新其他(引用)表的列和偏移量。

  • updating reference tables

    服務(wù)器正在執(zhí)行多表更新的第二部分,并更新其他表中的匹配行。

  • User lock

    該線程將要求或正在等待通過(guò)GET_LOCK()呼叫請(qǐng)求的咨詢鎖 。對(duì)于 SHOW PROFILE,此狀態(tài)表示線程正在請(qǐng)求鎖定(不等待它)。

  • User sleep

    線程已經(jīng)調(diào)用了一個(gè) SLEEP()調(diào)用。

  • Waiting for commit lock

    FLUSH TABLES WITH READ LOCK 正在等待提交鎖定。

  • Waiting for global read lock

    FLUSH TABLES WITH READ LOCK 正在等待全局讀鎖定或read_only正在設(shè)置全局 系統(tǒng)變量。

  • Waiting for tables

    線程得到一個(gè)通知,表明表的底層結(jié)構(gòu)已經(jīng)改變,它需要重新打開(kāi)表以獲得新結(jié)構(gòu)。但是,要重新打開(kāi)表,它必須等到所有其他線程關(guān)閉了相關(guān)表。

  • Waiting for table flush

    線程正在執(zhí)行FLUSH TABLES并且正在等待所有線程關(guān)閉它們的表,或者線程得到一個(gè)表的基礎(chǔ)結(jié)構(gòu)已經(jīng)更改的通知,并且它需要重新打開(kāi)表以獲取新結(jié)構(gòu)。但是,要重新打開(kāi)表,它必須等到所有其他線程關(guān)閉了相關(guān)表。

  • Waiting for *lock_type* lock

    服務(wù)器正在等待THR_LOCK從元數(shù)據(jù)鎖定子系統(tǒng)獲取 鎖定或鎖定,其中 lock_type指示鎖定的類型。

    此狀態(tài)表示等待 THR_LOCK

    這些狀態(tài)表示等待元數(shù)據(jù)鎖定:

    • Waiting for event metadata lock

    • Waiting for global read lock

    • Waiting for schema metadata lock

    • Waiting for stored function metadata lock

    • Waiting for stored procedure metadata lock

    • Waiting for table metadata lock

    • Waiting for trigger metadata lock

    • Waiting for table level lock

  • Waiting on cond

    線程正在等待條件變?yōu)檎娴耐ㄓ脿顟B(tài)。沒(méi)有具體的州信息。

  • Writing to net

    服務(wù)器正在將數(shù)據(jù)包寫(xiě)入網(wǎng)絡(luò)。Sending to client從MySQL 5.7.8開(kāi)始調(diào)用此狀態(tài)。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“MySQL線程狀態(tài)怎么看”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI