在來自SHOW PROCESSLIST的輸出中常見的一些狀態:

在來自SHOW PROCESSLIST的輸出中常見的一些狀態:
· Checking table  
線程正在執行(自動)表格檢查。
· Closing tables  
意味着線程正在刷新更改後的表數據,並正在關閉使用過的表。這應該是一個快速的操作。如果不快,則您應該驗證您的磁盤沒有充滿,並且磁盤沒有被超負荷使用。
· Connect Out  
連接到主服務器上的從屬服務器。
· Copying to tmp table on disk  
臨時結果集合大於tmp_table_size。線程把臨時表從存儲器內部格式改變爲磁盤模式,以節約存儲器。
· Creating tmp table  
線程正在創建一個臨時表,以保持部分結果。
· deleting from main table  
服務器正在執行多表刪除的第一部分,只從第一個表中刪除。
· deleting from reference tables  
服務器正在執行多表刪除的第二部分,從其它表中刪除匹配的行。
· Flushing tables  
線程正在執行FLUSH TABLES,並正在等待所有線程,以關閉表。
· FULLTEXT initialization  
服務器正在準備執行一個自然語言全文本搜索。
· Killed  
有人已經向線程發送了一個KILL命令。在下一次檢查終止標記時,應放棄。該標記在MySQL的每個大循環中都檢查,但是在有些情況下,線程終止只需要較短的時間。如果該線程被其它線程鎖定,則只要其它線程接觸鎖定,終止操作就會生效。
· Locked  
該查詢被其它查詢鎖定。
· Sending data  
線程正在爲SELECT語句處理行,同時正在向客戶端發送數據。
· Sorting for group  
線程正在進行分類,以滿足GROUP BY要求。
· Sorting for order  
線程正在進行分類,以滿足ORDER BY要求。
· Opening tables  
線程正在試圖打開一個表。這應該是非常快的過程,除非打開操作受到阻止。例如,一個ALTER TABLE或一個LOCK TABLE語句可以阻止打開一個表,直到語句完成爲止。
· Removing duplicates  
查詢正在使用SELECT DISTINCT。使用時,在早期階段,MySQL不能優化不同的操作。因此,MySQL要求一個額外的階段,以便在把結果發送給客戶端之前取消所有的複製行。
· Reopen table  
線程得到一個表鎖定,但是在得到鎖定後被通知帶下方的表結構已更改了。它已經釋放了鎖定,關閉了表,並試圖重新打開它。
· Repair by sorting  
修復代碼正在使用一個分類來創建索引。
· Repair with keycache  
修復代碼正在通過關鍵緩存一個接一個地使用創建關鍵字。這比通過分類修復要慢很多。
· Searching rows for update  
線程正在進行第一階段,以在更新之前,查找所有匹配的行。如果UPDATE正在更改用於查找相關行的索引,則必須這麼做。
· Sleeping  
線程正在等待客戶端,以向它發送一個新語句。
· System lock  
線程正在等待得到一個用於表的外部系統鎖定。如果您沒有正在使用多個正在訪問同一個表的mysqld服務器,則您可以使用--skip-external-locking選項禁用系統鎖定。
· Upgrading lock  
INSERT DELAYED管理程序正在試圖得到一個表鎖定,以插入行。
· Updating  
線程正在搜索行,並正在更新這些行。
· User Lock  
線程正在等待GET_LOCK()。
· Waiting for tables  
線程得到一個通知,表的底層結構已經改變,需要重新打
發佈了46 篇原創文章 · 獲贊 33 · 訪問量 33萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章