要檢視MySQL執行狀態,要優化MySQL執行效率都少不了要執行show status檢視各種狀態,下面是參考官方文件及網上資料整理出來的中文詳細解釋:
狀態名 |
作用域 |
詳細解釋 |
Aborted_clients |
Global |
由於客戶端沒有正確關閉連線導致客戶端終止而中斷的連線數 |
Aborted_connects |
Global |
試圖連線到MySQL伺服器而失敗的連線數 |
Binlog_cache_disk_use |
Global |
使用臨時二進位制日誌快取但超過binlog_cache_size值並使用臨時檔案來儲存事務中的語句的事務數量 |
Binlog_cache_use |
Global |
使用臨時二進位制日誌快取的事務數量 |
Bytes_received |
Both |
從所有客戶端接收到的位元組數。 |
Bytes_sent |
Both |
傳送給所有客戶端的位元組數。 |
com* |
|
各種資料庫操作的數量 |
Compression |
Session |
客戶端與伺服器之間只否啟用壓縮協議 |
Connections |
Global |
試圖連線到(不管是否成功)MySQL伺服器的連線數 |
Created_tmp_disk_tables |
Both |
伺服器執行語句時在硬碟上自動建立的臨時表的數量 |
Created_tmp_files |
Global |
mysqld已經建立的臨時檔案的數量 |
Created_tmp_tables |
Both |
伺服器執行語句時自動建立的記憶體中的臨時表的數量。如果Created_tmp_disk_tables較大,你可能要增加tmp_table_size值使臨時 表基於記憶體而不基於硬碟 |
Delayed_errors |
Global |
用INSERT DELAYED寫的出現錯誤的行數(可能為duplicate key)。 |
Delayed_insert_threads |
Global |
使用的INSERT DELAYED處理器執行緒數。 |
Delayed_writes |
Global |
寫入的INSERT DELAYED行數 |
Flush_commands |
Global |
執行的FLUSH語句數。 |
Handler_commit |
Both |
內部提交語句數 |
Handler_delete |
Both |
行從表中刪除的次數。 |
Handler_discover |
Both |
MySQL伺服器可以問NDB CLUSTER儲存引擎是否知道某一名字的表。這被稱作發現。Handler_discover說明通過該方法發現的次數。 |
Handler_prepare |
Both |
A counter for the prepare phase of two-phase commit operations. |
Handler_read_first |
Both |
索引中第一條被讀的次數。如果較高,它建議伺服器正執行大量全索引掃描;例如,SELECT col1 FROM foo,假定col1有索引。 |
Handler_read_key |
Both |
根據鍵讀一行的請求數。如果較高,說明查詢和表的索引正確。 |
Handler_read_next |
Both |
按照鍵順序讀下一行的請求數。如果你用範圍約束或如果執行索引掃描來查詢索引列,該值增加。 |
Handler_read_prev |
Both |
按照鍵順序讀前一行的請求數。該讀方法主要用於優化ORDER BY ... DESC。 |
Handler_read_rnd |
Both |
根據固定位置讀一行的請求數。如果你正執行大量查詢並需要對結果進行排序該值較高。你可能使用了大量需要MySQL掃描整個表的查詢或你的連線沒有正確使用鍵。 |
Handler_read_rnd_next |
Both |
在資料檔案中讀下一行的請求數。如果你正進行大量的表掃描,該值較高。通常說明你的表索引不正確或寫入的查詢沒有利用索引。 |
Handler_rollback |
Both |
內部ROLLBACK語句的數量。 |
Handler_savepoint |
Both |
在一個儲存引擎放置一個儲存點的請求數量。 |
Handler_savepoint_rollback |
Both |
在一個儲存引擎的要求回滾到一個儲存點數目。 |
Handler_update |
Both |
在表內更新一行的請求數。 |
Handler_write |
Both |
在表內插入一行的請求數。 |
Innodb_buffer_pool_pages_data |
Global |
包含資料的頁數(髒或乾淨)。 |
Innodb_buffer_pool_pages_dirty |
Global |
當前的髒頁數。 |
Innodb_buffer_pool_pages_flushed |
Global |
要求清空的緩衝池頁數 |
Innodb_buffer_pool_pages_free |
Global |
空頁數。 |
Innodb_buffer_pool_pages_latched |
Global |
在InnoDB緩衝池中鎖定的頁數。這是當前正讀或寫或由於其它原因不能清空或刪除的頁數。 |
Innodb_buffer_pool_pages_misc |
Global |
忙的頁數,因為它們已經被分配優先用作管理,例如行鎖定或適用的雜湊索引。該值還可以計算為Innodb_buffer_pool_pages_total - Innodb_buffer_pool_pages_free - Innodb_buffer_pool_pages_data。 |
Innodb_buffer_pool_pages_total |
Global |
緩衝池總大小(頁數)。 |
Innodb_buffer_pool_read_ahead_rnd |
Global |
InnoDB初始化的“隨機”read-aheads數。當查詢以隨機順序掃描表的一大部分時發生。 |
Innodb_buffer_pool_read_ahead_seq |
Global |
InnoDB初始化的順序read-aheads數。當InnoDB執行順序全表掃描時發生。 |
Innodb_buffer_pool_read_requests |
Global |
InnoDB已經完成的邏輯讀請求數。 |
Innodb_buffer_pool_reads |
Global |
不能滿足InnoDB必須單頁讀取的緩衝池中的邏輯讀數量。 |
Innodb_buffer_pool_wait_free |
Global |
一般情況,通過後臺向InnoDB緩衝池寫。但是,如果需要讀或建立頁,並且沒有乾淨的頁可用,則它還需要先等待頁面清空。該計數器對等待例項進行記數。如果已經適當設定緩衝池大小,該值應小。 |
Innodb_buffer_pool_write_requests |
Global |
向InnoDB緩衝池的寫數量。 |
Innodb_data_fsyncs |
Global |
fsync()運算元。 |
Innodb_data_pending_fsyncs |
Global |
當前掛起的fsync()運算元。 |
Innodb_data_pending_reads |
Global |
當前掛起的讀數。 |
Innodb_data_pending_writes |
Global |
當前掛起的寫數。 |
Innodb_data_read |
Global |
至此已經讀取的資料數量(位元組)。 |
Innodb_data_reads |
Global |
資料讀總數量。 |
Innodb_data_writes |
Global |
資料寫總數量。 |
Innodb_data_written |
Global |
至此已經寫入的資料量(位元組)。 |
Innodb_dblwr_pages_written |
Global |
已經執行的雙寫運算元量 |
Innodb_dblwr_writes |
Global |
雙寫操作已經寫好的頁數 |
Innodb_log_waits |
Global |
我們必須等待的時間,因為日誌緩衝區太小,我們在繼續前必須先等待對它清空 |
Innodb_log_write_requests |
Global |
日誌寫請求數。 |
Innodb_log_writes |
Global |
向日志檔案的物理寫數量。 |
Innodb_os_log_fsyncs |
Global |
向日志檔案完成的fsync()寫數量。 |
Innodb_os_log_pending_fsyncs |
Global |
掛起的日誌檔案fsync()運算元量。 |
Innodb_os_log_pending_writes |
Global |
掛起的日誌檔案寫操作 |
Innodb_os_log_written |
Global |
寫入日誌檔案的位元組數。 |
Innodb_page_size |
Global |
編譯的InnoDB頁大小(預設16KB)。許多值用頁來記數;頁的大小很容易轉換為位元組。 |
Innodb_pages_created |
Global |
建立的頁數。 |
Innodb_pages_read |
Global |
讀取的頁數。 |
Innodb_pages_written |
Global |
寫入的頁數。 |
Innodb_row_lock_current_waits |
Global |
當前等待的待鎖定的行數。 |
Innodb_row_lock_time |
Global |
行鎖定花費的總時間,單位毫秒。 |
Innodb_row_lock_time_avg |
Global |
行鎖定的平均時間,單位毫秒。 |
Innodb_row_lock_time_max |
Global |
行鎖定的最長時間,單位毫秒。 |
Innodb_row_lock_waits |
Global |
一行鎖定必須等待的時間數。 |
Innodb_rows_deleted |
Global |
從InnoDB表刪除的行數。 |
Innodb_rows_inserted |
Global |
插入到InnoDB表的行數。 |
Innodb_rows_read |
Global |
從InnoDB表讀取的行數。 |
Innodb_rows_updated |
Global |
InnoDB表內更新的行數。 |
Key_blocks_not_flushed |
Global |
鍵快取內已經更改但還沒有清空到硬碟上的鍵的資料塊數量。 |
Key_blocks_unused |
Global |
鍵快取內未使用的塊數量。你可以使用該值來確定使用了多少鍵快取 |
Key_blocks_used |
Global |
鍵快取內使用的塊數量。該值為高水平線標記,說明已經同時最多使用了多少塊。 |
Key_read_requests |
Global |
從快取讀鍵的資料塊的請求數。 |
Key_reads |
Global |
從硬碟讀取鍵的資料塊的次數。如果Key_reads較大,則Key_buffer_size值可能太小。可以用Key_reads/Key_read_requests計算快取損失率。 |
Key_write_requests |
Global |
將鍵的資料塊寫入快取的請求數。 |
Key_writes |
Global |
向硬碟寫入將鍵的資料塊的物理寫操作的次數。 |
Last_query_cost |
Session |
用查詢優化器計算的最後編譯的查詢的總成本。用於對比同一查詢的不同查詢方案的成本。預設值0表示還沒有編譯查詢。 預設值是0。Last_query_cost具有會話範圍。 |
Max_used_connections |
Global |
伺服器啟動後已經同時使用的連線的最大數量。 |
ndb* |
|
ndb叢集相關 |
Not_flushed_delayed_rows |
Global |
等待寫入INSERT DELAY佇列的行數。
|
Open_files |
Global |
開啟的檔案的數目。 |
Open_streams |
Global |
開啟的流的數量(主要用於記錄)。 |
Open_table_definitions |
Global |
快取的.frm檔案數量 |
Open_tables |
Both |
當前開啟的表的數量。 |
原文地址:http://www.sandzhang.com/blog/2010/04/07/mysql-show-status-explained-detail/ |
||
Opened_files |
Global |
檔案開啟的數量。不包括諸如套接字或管道其他型別的檔案。 也不包括儲存引擎用來做自己的內部功能的檔案。 |
Opened_table_definitions |
Both |
已經快取的.frm檔案數量 |
Opened_tables |
Both |
已經開啟的表的數量。如果Opened_tables較大,table_cache 值可能太小。 |
Prepared_stmt_count |
Global |
當前的預處理語句的數量。 (最大數為系統變數: max_prepared_stmt_count) |
Qcache_free_blocks |
Global |
查詢快取內自由記憶體塊的數量。 |
Qcache_free_memory |
Global |
用於查詢快取的自由記憶體的數量。 |
Qcache_hits |
Global |
查詢快取被訪問的次數。 |
Qcache_inserts |
Global |
加入到快取的查詢數量。 |
Qcache_lowmem_prunes |
Global |
由於記憶體較少從快取刪除的查詢數量。 |
Qcache_not_cached |
Global |
非快取查詢數(不可快取,或由於query_cache_type設定值未快取)。 |
Qcache_queries_in_cache |
Global |
登記到快取內的查詢的數量。 |
Qcache_total_blocks |
Global |
查詢快取內的總塊數。 |
Queries |
Both |
伺服器執行的請求個數,包含儲存過程中的請求。 |
Questions |
Both |
已經傳送給伺服器的查詢的個數。 |
Rpl_status |
Global |
失敗安全複製狀態(還未使用)。 |
Select_full_join |
Both |
沒有使用索引的聯接的數量。如果該值不為0,你應仔細檢查表的索引 |
Select_full_range_join |
Both |
在引用的表中使用範圍搜尋的聯接的數量。 |
Select_range |
Both |
在第一個表中使用範圍的聯接的數量。一般情況不是關鍵問題,即使該值相當大。 |
Select_range_check |
Both |
在每一行資料後對鍵值進行檢查的不帶鍵值的聯接的數量。如果不為0,你應仔細檢查表的索引。 |
Select_scan |
Both |
對第一個表進行完全掃描的聯接的數量。 |
Slave_heartbeat_period |
Global |
複製的心跳間隔 |
Slave_open_temp_tables |
Global |
從伺服器開啟的臨時表數量 |
Slave_received_heartbeats |
Global |
從伺服器心跳數 |
Slave_retried_transactions |
Global |
本次啟動以來從伺服器複製執行緒重試次數 |
Slave_running |
Global |
如果該伺服器是連線到主伺服器的從伺服器,則該值為ON。 |
Slow_launch_threads |
Both |
建立時間超過slow_launch_time秒的執行緒數。 |
Slow_queries |
Both |
查詢時間超過long_query_time秒的查詢的個數。 |
Sort_merge_passes |
Both |
排序演算法已經執行的合併的數量。如果這個變數值較大,應考慮增加sort_buffer_size系統變數的值。 |
Sort_range |
Both |
在範圍內執行的排序的數量。 |
Sort_rows |
Both |
已經排序的行數。 |
Sort_scan |
Both |
通過掃描表完成的排序的數量。 |
ssl* |
|
ssl連線相關 |
Table_locks_immediate |
Global |
立即獲得的表的鎖的次數。 |
Table_locks_waited |
Global |
不能立即獲得的表的鎖的次數。如果該值較高,並且有效能問題,你應首先優化查詢,然後拆分表或使用複製。 |
Threads_cached |
Global |
執行緒快取內的執行緒的數量。 |
Threads_connected |
Global |
當前開啟的連線的數量。 |
Threads_created |
Global |
建立用來處理連線的執行緒數。如果Threads_created較大,你可能要增加thread_cache_size值。快取訪問率的計算方法Threads_created/Connections。 |
Threads_running |
Global |
啟用的(非睡眠狀態)執行緒數。 |
Uptime |
Global |
伺服器已經執行的時間(以秒為單位)。 |
Uptime_since_flush_status |
Global |
最近一次使用FLUSH STATUS 的時間(以秒為單位)。 |