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資料庫
- openguass 資料庫狀態查詢資料庫
- mysql資料庫連表查詢的幾種方法MySql資料庫
- 【YashanDB資料庫】yasboot查詢資料庫狀態時顯示資料庫狀態為off資料庫boot
- MongoDB資料庫中查詢資料(下)MongoDB資料庫
- MySQL預設資料庫之sys庫MySql資料庫
- python資料庫-MySQL資料庫高階查詢操作(51)Python資料庫MySql
- 【資料庫】MySQL查詢優化資料庫MySql優化
- 資料庫中單表查詢資料庫
- 資料庫基礎查詢--單表查詢資料庫
- 遷移MySQL 5.7資料庫MySql資料庫
- MySQL資料庫之mysql5.7基礎 檢視一個資料庫中的所有表MySql資料庫
- 查詢資料庫表及表欄位資料庫
- 資料庫查詢和資料庫(MySQL)索引的最佳化建議資料庫MySql索引
- PHP連線、查詢MySQL資料庫PHPMySql資料庫
- MySQL資料庫基礎——多表查詢:子查詢MySql資料庫
- 故障分析 | MySQL 5.7 使用臨時表導致資料庫 CrashMySql資料庫
- 資料庫系列:MySQL慢查詢分析和效能最佳化資料庫MySql
- shell監控mysql 5.7資料庫MySql資料庫
- Jemter查詢資料庫資料庫
- 求助:資料庫查詢資料庫
- ThinkPHP 資料庫查詢PHP資料庫
- 資料庫排序查詢資料庫排序
- 查詢資料庫大小資料庫
- 資料庫遞迴查詢:MySQL VS Sequelize資料庫遞迴MySql
- Excel資料庫轉MySQL,實現查詢Excel資料庫MySql
- Mysql資料庫使用from與join兩表查詢的方法區別總結MySql資料庫
- 2018-11-21MySQL建學生表資料庫+查詢MySql資料庫
- SQL Server 查詢資料庫中所有表資料條數SQLServer資料庫
- Prometheus時序資料庫-資料的查詢Prometheus資料庫
- MySQL—-MySQL資料庫入門—-第四章 單表查詢MySql資料庫
- 千萬級資料庫使用索引查詢速度更慢的疑惑-資料回表問題資料庫索引
- 15個高效的MySQL資料庫查詢小技巧MySql資料庫
- 資料庫全表查詢之-分頁查詢優化資料庫優化
- ABAP資料庫表的後設資料資料庫
- 資料庫查詢慢的原因資料庫
- 查詢資料庫的資料量的大小資料庫