溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

mysql 5.7如何使用sys數(shù)據(jù)庫下的表查詢數(shù)據(jù)庫性能狀況

發(fā)布時(shí)間:2021-11-03 09:59:38 來源:億速云 閱讀:202 作者:小新 欄目:MySQL數(shù)據(jù)庫

這篇文章主要介紹mysql 5.7如何使用sys數(shù)據(jù)庫下的表查詢數(shù)據(jù)庫性能狀況,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

1. 誰使用了最多的資源? 基于ip或是用戶?

對(duì)于該問題可以從host, user, io三個(gè)方面去了解,大概誰的請(qǐng)求最多。對(duì)于使用資源問題可以直接從下面四個(gè)視圖里有一個(gè)

大概的了解。

   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;

注意:內(nèi)存部分,不包括innodbbuffer pool。只是server 層申請(qǐng)的內(nèi)存

2. 大部分連接來自哪里及發(fā)送的sql情況

查看當(dāng)前連接情況:

select host, current_connections,statements from host_summary;

查看當(dāng)前正在執(zhí)行的sql:

select conn_id, user, current_statement, last_statement from session;

3. 機(jī)器執(zhí)行最多的sql語句是什么樣?

查詢系統(tǒng)里執(zhí)行最多的top 10 sql:

select * from statement_analysis order byexec_count desc limit 10\G;

4. 哪張表的io最多?哪張表訪問次數(shù)最多

select * from io_global_by_file_by_bytes limit 10;

哪張表訪問次數(shù)最多,可以參考上面先查詢執(zhí)行最多的語句,然后查找對(duì)應(yīng)的表,sql如下:

select * from statement_analysis order by exec_count desc limit 10\G;

5. 哪些語句延遲比較嚴(yán)重

statement_analysis中avg_latency的最高的,sql語句:

select * from statement_analysis order by avg_latency desc limit 10\G;

6. 哪些sql語句使用了磁盤臨時(shí)表

利用statement_analysis 中tmp_tables ,tmp_disk_tables 進(jìn)行計(jì)算,參考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

查詢?cè)赽uffer pool中占用前10的表,sql如下:

select * from innodb_buffer_stats_by_tableorder by pages desc limit 10;

8. 每個(gè)庫占用多少buffer pool

select * from innodb_buffer_stats_by_schema;

9. 每個(gè)連接分配多少內(nèi)存

利用session表和memory_by_thread_by_current_bytes分配表進(jìn)行關(guān)聯(lián)查詢,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內(nèi)部現(xiàn)在有多個(gè)線程在運(yùn)行

mysql內(nèi)部的線程類型及數(shù)量:

select user, count(*) from processlistgroup by user;

以上是“mysql 5.7如何使用sys數(shù)據(jù)庫下的表查詢數(shù)據(jù)庫性能狀況”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI