mysql 優化:使用show status檢視MySQL伺服器狀態資訊
在LAMP架構的網站開發過程中,有些時候我們需要了解MySQL的伺服器狀態資訊,譬如當前MySQL啟動後的執行時間,當前MySQL的客戶端會話連線數,當前MySQL伺服器執行的慢查詢數,當前MySQL執行了多少SELECT語句、執行了多少UPDATE/DELETE/INSERT語句等統計資訊,從而便於我們根據當前MySQL伺服器的執行狀態進行對應的調整或優化工作。
在MySQL中,我們可以使用SHOW STATUS指令語句來檢視MySQL伺服器的狀態資訊。下面,我們以DOS命令視窗的形式連線MySQL,並執行show status;指令,我們將看到如下顯示資訊:
當我們執行show status語句時,MySQL將會列出多達300多條的狀態資訊記錄,其中包括了供我們檢視了解的各種資訊。不過,如果直接使用show status指令得到300多條記錄,會讓我們看得眼花繚亂,因此我們希望能夠「按需檢視」一部分狀態資訊。這個時候,我們可以在show status語句後加上對應的like子句。例如,我們想要檢視當前MySQL啟動後的執行時間,我們可以執行如下語句:
--查詢當前MySQL本次啟動後的執行統計時間
show status like 'uptime';
此時,我們就可以看到如下結果:
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Uptime | 5667 |
+---------------+-------+
1 row in set (0.00 sec)
同樣的,如果我們要本次MySQL啟動後執行的SELECT語句的次數,我們可以執行如下語句:
show status like 'com_select';
對應輸出結果如下:
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Com_select | 1 |
+---------------+-------+
1 row in set (0.00 sec)
此外,與WHERE子句中的LIKE關鍵字類似,show status後的LIKE關鍵字也可以使用’_’ 或’%’等萬用字元來進行模糊匹配。例如我們可以執行如下語句來檢視MySQL伺服器的執行緒資訊:
show status like 'Thread_%';
對應輸出結果如下:
+-------------------+-------+
| Variable_name | Value |
+-------------------+-------+
| Threads_cached | 0 |
| Threads_connected | 1 |
| Threads_created | 1 |
| Threads_running | 1 |
+-------------------+-------+
4 rows in set (0.00 sec)
值得注意的是,在上述show status like ‘com_select’指令的執行示例中,顯示的SELECT語句統計資訊僅僅表示當前會話連線執行的SELECT語句數量。因為,show status指令的完整語法如下:
SHOW [統計範圍] STATUS [LIKE '狀態項名稱']
--統計範圍關鍵字分為GLOBAL和SESSION(或LOCAL)兩種。
在show status的完整語法中,”[]”中的部分是可選的,如果我們的show status語句中不包含統計範圍關鍵字,則預設統計範圍為SESSION,也就是隻統計當前連線的狀態資訊。如果我們需要查詢自當前MySQL啟動後所有連線執行的SELECT語句總數,我們可以執行如下語句:
show global status like 'com_select';
以上即是show status的詳細用法。由於show status的狀態統計項較多,我們就不再一一解釋每個統計項的具體含義,在這裡,我們僅列出部分常用的狀態資訊檢視語句:
--檢視MySQL本次啟動後的執行時間(單位:秒)
show status like 'uptime';
--檢視select語句的執行數
show [global] status like 'com_select';
--檢視insert語句的執行數
show [global] status like 'com_insert';
--檢視update語句的執行數
show [global] status like 'com_update';
--檢視delete語句的執行數
show [global] status like 'com_delete';
--檢視試圖連線到MySQL(不管是否連線成功)的連線數
show status like 'connections';
--檢視執行緒快取內的執行緒的數量。
show status like 'threads_cached';
--檢視當前開啟的連線的數量。
show status like 'threads_connected';
--檢視當前開啟的連線的數量。
show status like 'threads_connected';
--檢視建立用來處理連線的執行緒數。如果Threads_created較大,你可能要增加thread_cache_size值。
show status like 'threads_created';
--檢視啟用的(非睡眠狀態)執行緒數。
show status like 'threads_running';
--檢視立即獲得的表的鎖的次數。
show status like 'table_locks_immediate';
--檢視不能立即獲得的表的鎖的次數。如果該值較高,並且有效能問題,你應首先優化查詢,然後拆分表或使用複製。
show status like 'table_locks_waited';
--檢視建立時間超過slow_launch_time秒的執行緒數。
show status like 'slow_launch_threads';
--檢視查詢時間超過long_query_time秒的查詢的個數。
show status like 'slow_queries';
相關文章
- mysql檢視儲存過程show procedure status;MySql儲存過程
- MySQL show status 命令詳解MySql
- MySQL的show engine innodb statusMySql
- 檢視使用 MySQL Shell 的連線狀態MySql
- 使用show engine innodb status 檢視記憶體使用情況記憶體
- [MySQL進階之路][No.0002] SHOW SLAVE STATUSMySql
- mysql檢視主從同步狀態的方法MySql主從同步
- 乙太網狀態檢視工具:Ethernet Status for MacMac
- 網路連線狀態檢視工具:Internet Status for MacMac
- Internet Status Mac網路連線狀態檢視工具Mac
- MySQL 變數及效能狀態檢視知識技巧MySql變數
- 檢視mysql執行狀態的一些sqlMySql
- Mac網路連線狀態檢視工具:Internet Status for MacMac
- mysql 鎖狀態的一些狀態資訊記錄MySql
- MySQL:5.6 大事務show engine innodb status故障一例MySql
- Elasticsearch 檢視節點狀態資訊(qbit)Elasticsearch
- MySQL調優使用者監控之show processlistMySql
- MySQL:show slave status 關鍵值和MGRrelay log的清理策略MySql
- mysql metadata lock後設資料鎖之鎖狀態lock_status流轉圖MySql
- 12、MySQL Case-show processlist 狀態一直處於Sending to clientMySqlclient
- MySQL主從複製中的“show slave status”詳細含義MySql
- linux檢視伺服器狀態命令--lsloadLinux伺服器
- 檢視一個通訊埠狀態
- 22. 使用MySQL之使用檢視MySql
- MYSQL 檢視MySql
- MySQL調優效能監控之show profileMySql
- 【DBMS_STATUS】Oracle控制優化器統計資訊的使用Oracle優化
- mysql查詢優化檢查 explainMySql優化AI
- MySQL8 show processlist 最佳化MySql
- uptime命令檢視Linux伺服器健康狀態Linux伺服器
- 使用 telescope 檢視 schedule 執行狀態
- MySQL View 檢視MySqlView
- Internet Status for Mac(網路連線狀態檢視工具) v5.1啟用版Mac
- MySQL資料庫優化MySql資料庫優化
- 專案實戰:zabbix監控MySQL狀態、服務資訊MySql
- MySQl 配置InnoDB持久化的優化器統計資訊MySql持久化優化
- mysql索引的使用和優化MySql索引優化
- MySQL 索引使用策略及優化MySql索引優化
- MySQL(二) MySql常用優化MySql優化