精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

教你如何快速定位當前數據庫消耗CPU最高的SQL語句

dyquk4xk2p3d ? 來源:良許Linux ? 2023-05-08 16:42 ? 次閱讀

這篇文章主要介紹怎么快速定位當前數據庫消耗CPU最高的sql語句,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!

如何快速定位消耗 CPU 最高的 sql 語句,怎么做?

概述

如果是Oracle數據庫我們可以很容易通過sql來定位到當前數據庫中哪些消耗CPU高的語句,而mysql數據庫可以怎么定位呢?這里用一個簡單例子說明下...

主要意思是針對定位CPU的問題,Percona增加了對通過信息TID列將processlist ID映射到OS線程ID的支持,而MySQL在5.7版本后在PERFORMANCE_SCHEMA.THREADS表加了一個THREAD_OS_ID新列來實現,以下方法適用于在其他內核正常運行時,某個特定CPU的查詢過載的情況。

find out which session is using the most CPU resources in my database?

定位線程

pidstat -t -p 1 5

63cbc036-ec30-11ed-90ce-dac502259ad0.png

通過該命令我們可以定位到802、4445等線程消耗了大量的CPU,這里盡量確保在pidstat的多個樣本中驗證消耗是恒定的。根據這些信息,我們可以登錄到數據庫,并使用以下查詢找出哪個MySQL線程是罪魁禍首。

定位問題sql

select*fromperformance_schema.threadswherethread_os_id=xx;select*frominformation_schema.`PROCESSLIST`whereid=threads.processlist_id

63e3cb0e-ec30-11ed-90ce-dac502259ad0.png63f57444-ec30-11ed-90ce-dac502259ad0.png

查看問題sql執行計劃

這里對應看一下執行計劃基本就可以判斷當前數據庫CPU為什么消耗這么高了...

至于優化的點只需要在dock建一個索引即可,這里就不介紹了。

64099186-ec30-11ed-90ce-dac502259ad0.png

審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • cpu
    cpu
    +關注

    關注

    68

    文章

    10824

    瀏覽量

    211140
  • SQL
    SQL
    +關注

    關注

    1

    文章

    760

    瀏覽量

    44071
  • 數據庫
    +關注

    關注

    7

    文章

    3765

    瀏覽量

    64274
  • MySQL
    +關注

    關注

    1

    文章

    802

    瀏覽量

    26443
  • 線程
    +關注

    關注

    0

    文章

    504

    瀏覽量

    19651

原文標題:教你如何快速定位當前數據庫消耗 CPU 最高的 sql 語句

文章出處:【微信號:良許Linux,微信公眾號:良許Linux】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    數據庫SQL的優化

    用戶成功連接數據庫之后,用戶和數據庫成功建立起了會話。此后,用戶每通過會話發出一條SQL語句數據庫系統都會對其進行一系列檢查、分析、處理
    的頭像 發表于 10-09 15:43 ?1017次閱讀
    <b class='flag-5'>數據庫</b><b class='flag-5'>SQL</b>的優化

    Database數據庫SQL語句

    如何用一條SQL語句清空數據庫中多張表中的記錄?請大神幫忙,謝謝
    發表于 03-01 00:57

    請教如何用SQL語句來壓縮ACCESS數據庫

    通過對ACCESS數據庫的“修復與壓縮”會使程序的運行更加穩定和提高運行速度。——請教如何用SQL語句來壓縮ACCESS數據庫,只用SQL
    發表于 11-29 21:54

    輕松學會SQL server數據庫SQL 語句的開發,有程序,有word講解

    本次我用最簡單的例子講解labview和SQL serve數據庫SQL 語句的開發,word 講解了本次出現的問題及解決方案;
    發表于 07-31 14:09

    請問labview如何通過語句連接sql sever數據庫?

    本帖最后由 哇哈哈哈6 于 2019-4-25 08:51 編輯 labview連接sql數據庫,通過語句,而不是通過“管理工具-ODBC”配置連接,試了好多語句都不對,不知道如
    發表于 04-24 18:48

    MySQL數據庫Access存儲讀取SQL語句

    LabVIEW視頻教程MySQL數據庫Access存儲讀取SQL語句
    發表于 10-21 11:59

    使用SQL語句操作數據庫

    第一步:Linux開發環境搭建第二步:安裝sqlite數據庫第三步:sqlite數據庫使用1.sqlite部分命令2.使用SQL語句操作數據庫
    發表于 11-04 06:23

    數據庫SQL語句電子教程

    電子發燒友為您提供了數據庫SQL語句電子教程,幫助您了解數據庫 SQL語句 ,學習讀懂
    發表于 07-14 17:09 ?0次下載

    醫院SQL數據庫系統語句優化

    本文就如何優化大型數據庫的性能進行了一些探索,提出了優化數據庫訪問性能的若干策略,特別是對SQL語句進行了有效的分析設計的問題,以使其加快執行速度,減少網絡傳輸,能更高效地工作,充分發
    的頭像 發表于 02-17 20:26 ?5292次閱讀

    使用SQL語句創建數據庫的實例詳細說明

      本文檔的主要內容詳細介紹的是使用SQL語句創建數據庫的實例詳細說明。
    發表于 11-07 14:35 ?19次下載

    5種數據庫SQL語句大全詳細說明

    本文檔的主要內容詳細介紹的是5種數據庫SQL語句大全詳細說明。
    發表于 11-13 15:16 ?8次下載

    SQL數據庫中dbo注入語句大全的詳細資料說明

    本文檔的主要內容詳細介紹的是SQL數據庫中dbo注入語句大全的詳細資料說明
    發表于 11-20 17:29 ?5次下載
    <b class='flag-5'>SQL</b><b class='flag-5'>數據庫</b>中dbo注入<b class='flag-5'>語句</b>大全的詳細資料說明

    使用SQL語句創建數據庫

    使用SQL語句創建數據庫 在今天的信息社會中,數據庫是信息化建設的關鍵要素之一,已經成為企業和組織的重要管理工具。創建數據庫
    的頭像 發表于 08-28 17:09 ?4089次閱讀

    mysql數據庫的增刪改查sql語句

    SQL語句,以幫助讀者全面了解MySQL的基本操作。 一、增加數據 在MySQL數據庫中,我們可以使用INSERT語句來向表中插入新的
    的頭像 發表于 11-16 15:41 ?1147次閱讀

    oracle執行sql查詢語句的步驟是什么

    Oracle數據庫是一種常用的關系型數據庫管理系統,具有強大的SQL查詢功能。Oracle執行SQL查詢語句的步驟包括編寫
    的頭像 發表于 12-06 10:49 ?895次閱讀