MySQL handler相關狀態引數解釋

chenfeng發表於2017-04-12
Handler引數列表如下:

mysql> show global status like 'Handle%';
+----------------------------+---------------+
| Variable_name              | Value         |
+----------------------------+---------------+
| Handler_commit             | 292547310     |
| Handler_delete             | 20004688      |
| Handler_discover           | 0             |
| Handler_external_lock      | 298778503     |
| Handler_mrr_init           | 0             |
| Handler_prepare            | 89764296      |
| Handler_read_first         | 84936796      |
| Handler_read_key           | 197690980     |
| Handler_read_last          | 25            |
| Handler_read_next          | 449603395282  |
| Handler_read_prev          | 488140        |
| Handler_read_rnd           | 17904308      |
| Handler_read_rnd_next      | 2234678057572 |
| Handler_rollback           | 3965287       |
| Handler_savepoint          | 2             |
| Handler_savepoint_rollback | 566           |
| Handler_update             | 150669454     |
| Handler_write              | 1392716731    |
+----------------------------+---------------+
18 rows in set (0.00 sec)


| Handler_commit             | 內部提交語句數
| Handler_delete             | 請求從表中刪除行的次數。
| Handler_discover           | MySQL伺服器可以問NDB CLUSTER儲存引擎是否知道某一名字的表。這被稱作發現。Handler_discover說明透過該方法發現的次數。
| Handler_external_lock           |   此變數與鎖定運算元量有關,主要是在表訪問的開始和結束時起作用。
| Handler_mrr_init             |  伺服器使用儲存引擎自己實現的多範圍讀取的次數。
| Handler_prepare            |  用於兩階段提交操作的準備階段的計數器。
| Handler_read_first         | 索引中第一條被讀的次數。如果較高,它建議伺服器正執行大量全索引掃描;例如,SELECT col1 FROM foo,假定col1有索引。
| Handler_read_key           | 根據鍵讀一行的請求數。如果較高,說明查詢和表的索引正確。
| Handler_read_last            | 根據鍵讀最後一行的請求數。
| Handler_read_next          | 按照鍵順序讀下一行的請求數。如果你用範圍約束或如果執行索引掃描來查詢索引列,該值增加。
| Handler_read_prev          | 按照鍵順序讀前一行的請求數。該讀方法主要用於最佳化ORDER BY … DESC。
| Handler_read_rnd           | 根據固定位置讀一行的請求數。如果你正執行大量查詢並需要對結果進行排序該值較高。你可能使用了大量需要MySQL掃描整個表的查詢或你的連線沒有正確使用索引。
| Handler_read_rnd_next      | 在資料檔案中讀下一行的請求數。如果你正進行大量的表掃描,該值較高。通常說明你的表索引不正確或寫入的查詢沒有利用索引。
| Handler_rollback           | 內部ROLLBACK語句的數量
| Handler_savepoint               | 在一個儲存引擎放置一個儲存點的請求數量。
| Handler_savepoint_rollback   | 在一個儲存引擎的要求回滾到一個儲存點數目。
| Handler_update             | 請求更新表中一行的次數。 
| Handler_write              | 請求向表中插入一行的次數。 


Handler_read_rnd_next的值高則意味著查詢執行低效,並且應該建立索引補救或最佳化。這個值的含義是在資料檔案中讀取下一行的請求數。如果正在進行大量的表掃描,Handler_read_rnd_next的值比較高通常說明表索引不正確或寫入的查詢沒有有效利用索引。

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

相關文章