【MySQL】常見的mysql 程式state

呆呆笨笨的魚發表於2015-02-11
Analyzing
執行緒是對MyISAM 表的統計資訊做分析(例如, ANALYZE TABLE )。
checking permissions
執行緒是檢查伺服器是否具有所需的許可權來執行該語句。
Checking table
執行緒正在執行表檢查操作。
cleaning up
執行緒處理一個命令,並正準備以釋放記憶體和重置某些狀態變數。
closing tables
執行緒是改變表中的資料重新整理到磁碟和關閉使用的表。 這應該是一個快速的操作。 如果沒有,你應該確認你沒有一個完整的磁碟和磁碟是不是在十分繁重的情況下使用。
converting HEAP to MyISAM
執行緒是從轉換內部臨時表MEMORY記憶體表磁碟MyISAM表。
copy to tmp table
執行緒正在處理一個ALTER TABLE語句。 這種狀態發生後,與新結構的表已建立,但前行復制到它。
Copying to group table
如果語句有不同的ORDER BY和GROUP BY標準,按組排序的行復制到一個臨時表。
Copying to tmp table
伺服器複製到記憶體中的臨時表。
Copying to tmp table on disk
伺服器複製到一個臨時表在磁碟上。 臨時結果集已經變得過於龐大(見7.8.4節,“MySQL如何使用內部臨時表” )。 因此,執行緒從記憶體中的臨時表基於磁碟的格式,以節省記憶體。
Creating index
執行緒正在處理ALTER TABLE ... ENABLE KEYS ALTER TABLE ... ENABLE KEYS為MyISAM MyISAM表。
Creating sort index
執行緒正在處理一個SELECT就是使用內部臨時表解決。
creating table
執行緒建立一個表。 這包括建立臨時表。
Creating tmp table
執行緒是建立一個臨時表在記憶體或磁碟上。 如果表是在記憶體中建立,但後來被轉換成一個磁碟上的表,在該操作的Copying to tmp table on disk在磁碟上。
deleting from main table
伺服器正在執行多表刪除的第一部分。 它只能從第一個表中刪除,並儲存列和刪除從其他表(參考)偏移。
deleting from reference tables
伺服器正在執行多表刪除的第二部分,從其他表中刪除匹配的行。
discard_or_import_tablespace
執行緒正在處理一個ALTER TABLE ... DISCARD TABLESPACE ALTER TABLE ... DISCARD TABLESPACE或ALTER TABLE ... IMPORT TABLESPACE ALTER TABLE ... IMPORT TABLESPACE語句。
end
這發生在年底前的清理ALTER TABLE , CREATE VIEW , DELETE , INSERT , SELECT或UPDATE語句。
executing
執行緒已開始執行語句。
Execution of init_command
執行緒正在執行中的價值陳述init_command系統變數。
freeing items
執行緒已執行的命令。 釋放一些在這種狀態下完成的專案,涉及的查詢快取。 這種狀態通常後跟cleaning up 。
Flushing tables
執行緒正在執行FLUSH TABLES ,等待所有執行緒關閉其表。
FULLTEXT initialization
該伺服器是準備執行一個自然語言的全文檢索。
init
這發生之前的初始化ALTER TABLE , DELETE , INSERT , SELECT或UPDATE語句。 伺服器在這種狀態下采取的行動包括沖洗二進位制日誌中InnoDB日誌,和一些查詢快取清理操作。
對於end狀態,以下操作可能會發生的事情:
更改後刪除表中的資料查詢的快取條目
二進位制日誌中寫一個事件
釋放記憶體緩衝區,包括為斑點
Killed
有人傳送一個KILL執行緒的語句,它應該中止在下一次檢查殺死標誌。 檢查該標誌是在每個MySQL中的主要迴圈,但在某些情況下可能還需要很短的時間為執行緒死亡。 如果執行緒是由其他執行緒鎖定,殺死儘快生效的其他執行緒釋放它的鎖。
Locked
查詢被鎖定由另一個查詢。
logging slow query
執行緒正在寫一慢查詢日誌的語句。
NULL
這種狀態是用於SHOW PROCESSLIST狀態。
login
連線執行緒的初始狀態,直到客戶端已成功透過身份驗證。
Opening tables , Opening table
執行緒試圖開啟一個表。 這應該是非常快的過程中,除非有阻止開啟。 例如,一個ALTER TABLE或LOCK TABLE語句可以防止開啟一個表的語句,直到完成。 您的table_cache值足夠大,這也是值得一試。
optimizing
伺服器執行查詢的初始最佳化。
preparing
這種狀態出現在查詢最佳化過程中。
Purging old relay logs
執行緒是消除不必要的中繼日誌檔案。
query end
這種狀態發生後處理查詢,但在此freeing items的專案狀態。
Reading from net
伺服器是閱讀從網路資料包。
Removing duplicates
查詢使用SELECT DISTINCT在這樣一種方式是MySQL不能最佳化掉在早期階段的不同操作。 正因為如此,MySQL需要一個額外的的階段,將結果傳送到客戶端之前刪除所有重複行。
removing tmp table
執行緒是消除處理後,內部的SELECT表SELECT語句。 如果沒有建立臨時表,這種狀態是不使用。
rename
執行緒重新命名錶。
rename result table
執行緒正在處理一個ALTER TABLE語句,建立新表,並重新命名它來取代原來的表。
Reopen tables
執行緒有一個表鎖,但注意到後鎖底層表結構改變。 它釋放的鎖,關閉表,並試圖重新開啟它。
Repair by sorting
修復程式碼是使用排序建立索引。
Repair done
該執行緒已完成了一個多執行緒的MyISAM表。
Repair with keycache
修復程式碼是使用建立金鑰透過關鍵快取。 這是遠遠高於速度Repair by sorting進行排序。
Rolling back
執行緒回滾事務。
Saving state
如修理或分析MyISAM MyISAM表操作,執行緒是節能的新表的狀態.MYI檔案頭。 國家包括行數,如資訊AUTO_INCREMENT計數器,以及關鍵的分佈。
Searching rows for update
執行緒正在做第一階段前更新他們找到所有匹配的行。 這工作要做, UPDATE UPDATE正在改變,是用來尋找所涉及的行的索引。
Sending data
執行緒處理一個SELECT語句行,將資料傳送到客戶端。 因為在這個狀態發生的操作往往執行大量的磁碟訪問(讀取),它往往是在一個給定的查詢的生命週期最長的執行狀態。
setup
執行緒開始一個ALTER TABLE操作。
Sorting for group
執行緒是做一個分類,以GROUP BY集團。
Sorting for order
執行緒是做來滿足ORDER BY排序。
Sorting index
執行緒排序索引的網頁,更高效的訪問MyISAM表的最佳化操作。
Sorting result
對於SELECT語句,這是Creating sort index類似,但nontemporary表。
statistics
伺服器計算統計資料,以制定一個查詢執行計劃。 如果一個執行緒處於這種狀態很長一段時間,伺服器可能是磁碟繫結執行其他工作。
System lock
該執行緒將要求或正在等待內部或外部的系統鎖表。 如果這種狀態是造成外部鎖的請求和您不使用多個mysqld的訪問相同的MyISAM MyISAM表,你可以禁用與外部系統--skip-external-locking鎖定選項。 然而,外部鎖定是預設禁用的,所以這個選項很可能不會有任何效果。 SHOW PROFILE ,這種狀態意味著執行緒請求鎖(不等待)。
Table lock
後的下一個執行緒狀態System lock鎖定。 執行緒已經收購了外部鎖定,並要求內部表鎖。
Updating
執行緒正在尋找要更新的行和更新他們。
updating main table
伺服器正在執行多表更新的第一部分。 它是隻更新第一個表,並節省列和用於更新其他表(參考)偏移。
updating reference tables
伺服器正在執行多表更新的第二部分和更新從其他表匹配的行。
User lock
執行緒請求或要求與諮詢鎖等待GET_LOCK()呼叫。 SHOW PROFILE ,這種狀態意味著執行緒請求鎖(不等待)。
Waiting for release of readlock
執行緒正在等待另一個執行緒(與獲得全域性讀鎖FLUSH TABLES WITH READ LOCK TABLES)被釋放。
Waiting for tables , Waiting for table
執行緒得到一個表的基本結構發生了變化的通知,它需要重新開啟表,以獲取新的結構。 然而,重新開啟表,它必須等到所有其他執行緒已經關閉了表中的問題。
此通知發生,如果另一個執行緒已FLUSH TABLES或桌子上的問題下面的語句之一FLUSH TABLES tbl_name tbl_name ALTER TABLE , RENAME TABLE TABLE REPAIR TABLE TABLE ANALYZE TABLE TABLE, OPTIMIZE TABLE TABLE 。
Waiting on cond
在該執行緒正在等待一個條件,成為真正的一般狀態。 沒有特定的狀態資訊是可用的。
Waiting to get readlock
執行緒已發出一個FLUSH TABLES WITH READ LOCK語句獲得全域性讀鎖,並正在等待獲取鎖。
Writing to net
伺服器寫一個資料包到網路上。
 【via 網際網路】

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28929558/viewspace-1433150/,如需轉載,請註明出處,否則將追究法律責任。

相關文章