很贊的文章:https://codeplayer.vip/p/j7sc4
官方教程是最應該查看的文檔:https://dev.mysql.com/doc/refman/5.5/en/show.html
我真正關心的數據
- 比如一秒鍾到底能插入多少行數據?
- 慢查詢有多少?
慢是一個相對概念,慢的絕對值時間是可以設置的,例如我設置long_query_time為10秒,那么但凡超過10秒的查詢都可以認為是慢查詢 - 查詢操作的超時時間
mysql中系統變量什么意思?怎么查看系統變量?
https://blog.csdn.net/leshami/article/details/39585253
show variables
系統變量實際上用於控制數據庫的一些行為和方式的參數。比如我們啟動數據庫的時候設定多大的內存,使用什么樣的隔離級別,日志文件的大小,存放位置等等一系列的東東。
show processlist
show status
SHOW [統計范圍] STATUS [LIKE ‘狀態項名稱’]
–統計范圍關鍵字分為GLOBAL和SESSION(或LOCAL)兩種。
show status命令,但是看得眼花繚亂,此時可以加上like篩選
mysql 里面常用變量說明
com_xxx
The Com_xxx statement counter variables indicate the number of times each xxx statement has been executed
例如 com_select表示select語句執行次數
--查看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';
魚和熊掌不可兼得的例子
可靠性和大並發之間。超時時間短,接受的連接會多一點,可是沒有辦法保證請求總是正確響應,超時時間長,占用連接不能釋放,導致連接池慢了,不能為新用戶提供服務。