mysql 5.7後使用sys資料庫下的表查詢資料庫效能狀況
淺談MySQL5.7 sys schema
學習使用MySQL 5.7的sys庫
https://blog.csdn.net/yanzongshuai/article/details/73441158
1. 誰使用了最多的資源? 基於ip或是使用者?
對於該問題可以從host, user, io三個方面去了解,大概誰的請求最多。對於使用資源問題可以直接從下面四個檢視裡有一個
大概的瞭解。
select * from host_summary limit 1\G;
select * from io_global_by_file_by_bytes limit 1\G;
select * from user_summary limit 1\G;
select * from memory_global_total\G;
注意:記憶體部分,不包括innodbbuffer pool。只是server 層申請的記憶體
2. 大部分連線來自哪裡及傳送的sql情況
檢視當前連線情況:
select host, current_connections,statements from host_summary;
檢視當前正在執行的sql:
select conn_id, user, current_statement, last_statement from session;
3. 機器執行最多的sql語句是什麼樣?
查詢系統裡執行最多的top 10 sql:
select * from statement_analysis order byexec_count desc limit 10\G;
4. 哪張表的io最多?哪張表訪問次數最多
select * from io_global_by_file_by_bytes limit 10;
哪張表訪問次數最多,可以參考上面先查詢執行最多的語句,然後查詢對應的表, sql如下:
select * from statement_analysis order by exec_count desc limit 10\G;
5. 哪些語句延遲比較嚴重
statement_analysis中avg_latency的最高的,sql語句:
select * from statement_analysis order by avg_latency desc limit 10\G;
6. 哪些sql語句使用了磁碟臨時表
利用statement_analysis 中tmp_tables ,tmp_disk_tables 進行計算,參考sql:
select db, query, tmp_tables,tmp_disk_tables from statement_analysis where tmp_tables>0 or tmp_disk_tables >0
order by(tmp_tables+tmp_disk_tables) desc limit 20;
7. 哪張表佔用了最多的buffer pool
查詢在buffer pool中佔用前10的表,sql如下:
select * from innodb_buffer_stats_by_tableorder by pages desc limit 10;
8. 每個庫佔用多少buffer pool
select * from innodb_buffer_stats_by_schema;
9. 每個連線分配多少記憶體
利用session表和memory_by_thread_by_current_bytes分配表進行關聯查詢, sql如下:
select b.user, current_count_used,current_allocated, current_avg_alloc, current_max_alloc,total_allocated,
current_statement from memory_by_thread_by_current_bytes a,session b where a.thread_id = b.thd_id;
10. mysql內部現在有多個執行緒在執行
mysql內部的執行緒型別及數量:
select user, count(*) from processlistgroup by user;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31397003/viewspace-2650970/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- mysql 5.7 sys資料庫初探MySql資料庫
- 查詢MySQL資料庫,MySQL表的大小MySql資料庫
- mysql 資料庫或者表空間使用查詢MySql資料庫
- MySQL(三) 資料庫表的查詢操作【重要】MySql資料庫
- openguass 資料庫狀態查詢資料庫
- mysql資料庫多表查詢MySql資料庫
- mysql資料庫容量查詢MySql資料庫
- 資料庫查詢優化:巢狀查詢資料庫優化巢狀
- 【YashanDB資料庫】yasboot查詢資料庫狀態時顯示資料庫狀態為off資料庫boot
- mysql資料庫連表查詢的幾種方法MySql資料庫
- MySQL查詢資料庫中沒有主鍵的表MySql資料庫
- MongoDB資料庫中查詢資料(下)MongoDB資料庫
- mysql資料庫查詢pdo的用法MySql資料庫
- 資料庫中單表查詢資料庫
- 【資料庫】sql連表查詢資料庫SQL
- 查詢資料庫表是否存在資料庫
- 資料庫 - 資料查詢資料庫
- 【資料庫】MySQL查詢優化資料庫MySql優化
- 資料庫 - 連線查詢、巢狀查詢、集合查詢資料庫巢狀
- 資料庫基礎查詢--單表查詢資料庫
- 資料庫資料的查詢----連線查詢資料庫
- MySQL預設資料庫之sys庫MySql資料庫
- 遷移MySQL 5.7資料庫MySql資料庫
- mysql5.7資料庫改名MySql資料庫
- 資料庫查詢資料庫
- MySQL資料庫之mysql5.7基礎 檢視一個資料庫中的所有表MySql資料庫
- python資料庫-MySQL資料庫高階查詢操作(51)Python資料庫MySql
- PHP連線、查詢MySQL資料庫PHPMySql資料庫
- MySQL入門--查詢資料庫資訊MySql資料庫
- MySQL資料庫基礎——多表查詢:子查詢MySql資料庫
- 資料庫查詢和資料庫(MySQL)索引的最佳化建議資料庫MySql索引
- 故障分析 | MySQL 5.7 使用臨時表導致資料庫 CrashMySql資料庫
- 查詢Oracle資料庫使用者表中的多少資料量Oracle資料庫
- 資料庫系列:MySQL慢查詢分析和效能最佳化資料庫MySql
- shell監控mysql 5.7資料庫MySql資料庫
- 求助:資料庫查詢資料庫
- ThinkPHP 資料庫查詢PHP資料庫
- 查詢資料庫大小資料庫