最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL定位CPU利用率過高的SQL方法

 更新時間:2024年07月01日 08:41:39   作者:大腦補丁  
當mysql CPU告警利用率過高的時候,我們應(yīng)該怎么定位是哪些SQL導致的呢,本文將介紹一下定位的方法,文章通過代碼示例講解的非常詳細,具有一定的參考價值,需要的朋友可以參考下

前言

當mysql CPU告警利用率過高的時候,我們應(yīng)該怎么定位是哪些SQL導致的呢,本文將介紹一下定位的方法。

本文所使用的方法,前提是你可以登錄到Mysql所在的服務(wù)器,執(zhí)行命令查看進程,當然讓數(shù)據(jù)庫管理員登錄執(zhí)行也可以。但如果無法或無權(quán)限去服務(wù)器上執(zhí)行命令,本方法將不適合定位問題。

一.獲取Mysql的服務(wù)器進程號

登陸mysql所在的Linux服務(wù)器,執(zhí)行命令:top,在COMMAND列找到mysqld,并且%CPU使用率高的,比如數(shù)值超過100的,獲取PID號。

PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND
32232 root      20   0 1443252 356688  11748 S 107.0  4.4   2:03.82 mysqld     

上述例子中,32232mysql進程ID,接下來再用它查詢出占用CPU多的線程。

二.查詢進程中的線程

使用命令:top -H -p <mysqld 進程 id>,查詢線程號:

本例中使用命令top -H -p 32232

PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                                                               
32272 root      20   0 1443252 356688  11748 R 99.7  4.4   2:25.74 mysqld 

其中PID 32272為線程id號。

三.根據(jù)線程ID去mysql查詢出對應(yīng)的SQL

select a.user,a.host,a.db,b.thread_os_id,b.thread_id,a.id processlist_id,a.command,a.time,a.state,a.info from information_schema.processlist a,performance_schema.threads b where a.id = b.processlist_id and b.thread_os_id=32272;

查詢結(jié)果:

| user     | host      | db   | thread_os_id | thread_id | processlist_id | command | time | state        | info                                        |
+----------+-----------+------+--------------+-----------+----------------+---------+------+--------------+---------------------------------------------+
| msandbox | localhost | test |        32272 |        32 |              7 | Query   |    2 | Sending data | select * from t_abc order by rand() limit 1 |
+----------+-----------+------+--------------+-----------+----------------+---------+------+--------------+---------------------------------------------+

其中,info列顯示的SQL就是占用CPU較大的SQL,針對其進行優(yōu)化即可。

此外,還可以通過下列SQL,查詢下線程的其他信息,方便進一步優(yōu)化:

 select * from performance_schema.events_statements_current where thread_id in (select thread_id from performance_schema.threads where thread_os_id = 32272)

通過這個結(jié)果我們可以查看具體的 SQL,看到有使用臨時表、使用了排序等信息。
查詢結(jié)果節(jié)選:

CREATED_TMP_DISK_TABLES: 1  
CREATED_TMP_TABLES: 1  
SORT_ROWS: 1  
SORT_SCAN: 1  

總結(jié):

本文介紹了一種登陸Mysql服務(wù)器,定位CPU利用率過高的SQL的方法,可以使用此方法,快速的定位到正在數(shù)據(jù)庫里抽大煙的SQL,kill掉進程,并且優(yōu)化SQL后即可解決。此方法一定要在CPU告警時使用,如果CPU已經(jīng)恢復正常了,則無法使用此方法查詢了。

以上就是MySQL定位CPU利用率過高的SQL方法的詳細內(nèi)容,更多關(guān)于MySQL定位SQL的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • MySQL與SQLserver的差異對比

    MySQL與SQLserver的差異對比

    SQLServer和MySQL是兩種常見的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),們在功能和用途上有很多相似之處,但也有一些顯著的差異,本文將詳細介紹SQLServer和MySQL之間的差異,并對它們的優(yōu)缺點進行比較,以及使用時需要注意的事項
    2023-05-05
  • MySQL備份和還原操作小結(jié)

    MySQL備份和還原操作小結(jié)

    備份數(shù)據(jù)庫兩個主要方法是用mysqldump程序或直接拷貝數(shù)據(jù)庫文件,這篇文章主要介紹了MySQL備份和還原操作小結(jié),需要的朋友可以參考下
    2024-08-08
  • MySQL8中大小寫敏感與不敏感排序規(guī)則的選擇(根據(jù)字段語義)

    MySQL8中大小寫敏感與不敏感排序規(guī)則的選擇(根據(jù)字段語義)

    MySQL排序規(guī)則決定字符比較、排序等行為,與字符集綁定,影響ORDER?BY等操作,這篇文章主要介紹了MySQL8中大小寫敏感與不敏感排序規(guī)則的選擇,需要的朋友可以參考下
    2026-04-04
  • MySQL存儲過程的優(yōu)化實例

    MySQL存儲過程的優(yōu)化實例

    在編寫MySQL存儲過程的過程中,我們會時不時地需要對某些存儲過程進行優(yōu)化,其目的是確保代碼的可讀性、正確性及運行性能。本文以作者實際工作為背景,介紹了對某一個MySQL存儲過程優(yōu)化的整個過程。
    2016-07-07
  • MySQL創(chuàng)建用戶與授權(quán)及撤銷用戶權(quán)限方法

    MySQL創(chuàng)建用戶與授權(quán)及撤銷用戶權(quán)限方法

    這篇文章主要介紹了MySQL創(chuàng)建用戶并授權(quán)及撤銷用戶權(quán)限、設(shè)置與更改用戶密碼、刪除用戶等等,需要的朋友可以參考下
    2014-08-08
  • MySQL之批量插入的4種方案總結(jié)

    MySQL之批量插入的4種方案總結(jié)

    這篇文章主要介紹了MySQL之批量插入的4種方案總結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • 關(guān)于k8s環(huán)境部署mysql主從的問題

    關(guān)于k8s環(huán)境部署mysql主從的問題

    這篇文章主要介紹了k8s環(huán)境部署mysql主從的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • 解析mysql修改為utf8后仍然有亂碼的問題

    解析mysql修改為utf8后仍然有亂碼的問題

    本篇文章是對mysql修改為utf8后仍然有亂碼的問題進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • MySQL CDC原理解析及實現(xiàn)方案

    MySQL CDC原理解析及實現(xiàn)方案

    MySQL CDC(Change Data Capture)是一種捕獲MySQL數(shù)據(jù)庫數(shù)據(jù)變更(增刪改)并實時同步的技術(shù),通過監(jiān)控MySQL的二進制日志(binlog),解析變更信息并同步到目標系統(tǒng),本文介紹MySQL CDC實現(xiàn)方案,感興趣的朋友一起看看吧
    2026-01-01
  • mysql連接數(shù)清理方案

    mysql連接數(shù)清理方案

    這篇文章主要介紹了mysql連接數(shù)清理方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-10-10

最新評論

军事| 遵化市| 清涧县| 长春市| 兴仁县| 叙永县| 龙泉市| 巴里| 灵台县| 乡宁县| 修文县| 泾源县| 申扎县| 桃园县| 运城市| 南皮县| 昭觉县| 富顺县| 淮北市| 岚皋县| 岑溪市| 永仁县| 武隆县| 信丰县| 卓资县| 天柱县| 嘉兴市| 龙井市| 上蔡县| 潮州市| 三穗县| 辽阳市| 松滋市| 抚州市| 兴海县| 白河县| 普兰店市| 汽车| 德兴市| 祁连县| 泰兴市|