亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

mysql語句性能分析工具之profiling用法

 更新時(shí)間:2023年12月13日 15:36:54   作者:zyjzyjjyzjyz  
這篇文章主要介紹了mysql語句性能分析工具之profiling用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

以往我們已經(jīng)介紹了一個(gè)mysql的分析工具:mysql慢查詢?nèi)罩痉治龉ぞ撸╬t-query-digest),可以看我的文章:mysql慢查詢?nèi)罩痉治龉ぞ撸╬t-query-digest)

一、profiling的介紹

sql查詢慢的情況很常見,對(duì)于慢sql的優(yōu)化有三個(gè)步驟,又稱優(yōu)化三板斧。

  • 板斧一:查看執(zhí)行計(jì)劃explain
  • 板斧二:建立合適索引
  • 板斧三:使用合適的連接關(guān)系和過濾條件來實(shí)現(xiàn)sql語句的優(yōu)化

如果執(zhí)行計(jì)劃正確sql語句的性能還很慢,可以通過mysql的profiling工具進(jìn)行定位分析。

為了更精準(zhǔn)的定位一條sql語句的性能問題,需要清楚的直到這條sql語句運(yùn)行時(shí)消耗多少系統(tǒng)資源。

mysql中profiling工具可以滿足此需求,通過該工具可以獲取一條sql語句在執(zhí)行過程中多種資源的消耗情況——比如cpu,io,ipc,swap等資源消耗情況。

二、profiling使用方法

2.1、啟用命令

set profiling = 1;

2.2、啟動(dòng)命令后,運(yùn)行想要查詢性能的sql語句

select * from xiatui where name like '0%' and age = '9803' and sex =0;

2.3、查詢上述sql語句信息

show profiles;

 說明:

  • Query_ID:sql語句的id編號(hào),這個(gè)編號(hào)會(huì)在步驟4、5用到
  • Duration:sql語句執(zhí)行時(shí)長
  • Query:具體的sql語句

2.4、查詢資源消耗情況

SHOW PROFILE CPU, BLOCK IO FOR QUERY 360;

上述360就是第三步驟的Query_ID值,想要查詢哪條sql語句,就輸入哪條sql語句對(duì)應(yīng)的id值。

2.5、查詢某條sql語句的具體執(zhí)行時(shí)間

SHOW PROFILE FOR QUERY 391;

優(yōu)化建議:

如果想要優(yōu)化某條sql語句,可以關(guān)注一下該條sql語句的show profile結(jié)果中每個(gè)階段的耗時(shí),分析耗時(shí)最長的階段。

如果status列出現(xiàn)下面的信息就可以考慮對(duì)sql語句進(jìn)行優(yōu)化:

  • converting heap to  MyISAM:查詢結(jié)果太大,內(nèi)存不夠用
  • creating tmp table:創(chuàng)建了臨時(shí)表。先拷貝數(shù)據(jù)到臨時(shí)表,用完后再刪除臨時(shí)表。
  • copying to tmp table on disk:把內(nèi)存中臨時(shí)表復(fù)制到磁盤上
  • locked:發(fā)生了死鎖行為。                

2.6、關(guān)閉

set profiling = 0;

三、整體使用過程

set profiling = 1;
select /*+ no_icp(xiatui) */ * from xiatui where name like '0%' and age = '9803' and sex =0;
select * from xiatui where name like '0%' and age = '9803' and sex =0;
show profiles;
set profiling = 0;

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • MySQL外鍵約束常見操作方法示例【查看、添加、修改、刪除】

    MySQL外鍵約束常見操作方法示例【查看、添加、修改、刪除】

    這篇文章主要介紹了MySQL外鍵約束常見操作方法,結(jié)合實(shí)例形式分析了mysql針對(duì)外鍵約束的查看、添加、修改、刪除等相關(guān)操作實(shí)現(xiàn)方法,需要的朋友可以參考下
    2018-05-05
  • 解決MySQL 5.7中定位DDL被阻塞的問題

    解決MySQL 5.7中定位DDL被阻塞的問題

    這篇文章主要介紹了MySQL 5.7中如何定位DDL被阻塞的問題,在MySQL 5.7中,針對(duì)MDL,引入了一張新表performance_schema.metadata_locks,該表可對(duì)外展示MDL的相關(guān)信息,包括其作用對(duì)象,類型及持有等待情況。對(duì)此問題感興趣的朋友參考下本文
    2018-08-08
  • MySQL和Redis的數(shù)據(jù)一致性問題

    MySQL和Redis的數(shù)據(jù)一致性問題

    這篇文章主要介紹了MySQL和Redis的數(shù)據(jù)一致性問題,下面文章圍繞Redis大的相關(guān)資料展開詳情,需要的小伙伴可以參考一下
    2022-04-04
  • JMeter對(duì)MySQL數(shù)據(jù)庫進(jìn)行壓力測試的實(shí)現(xiàn)步驟

    JMeter對(duì)MySQL數(shù)據(jù)庫進(jìn)行壓力測試的實(shí)現(xiàn)步驟

    本文主要介紹了JMeter對(duì)MySQL數(shù)據(jù)庫進(jìn)行壓力測試的實(shí)現(xiàn)步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • MySQL多表聯(lián)合查詢、連接查詢、子查詢的實(shí)現(xiàn)

    MySQL多表聯(lián)合查詢、連接查詢、子查詢的實(shí)現(xiàn)

    本文主要介紹了MySQL多表聯(lián)合查詢、連接查詢、子查詢的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • Mysql實(shí)現(xiàn)主從配置和多主多從配置

    Mysql實(shí)現(xiàn)主從配置和多主多從配置

    大型網(wǎng)站為了軟解大量的并發(fā)訪問,除了在網(wǎng)站實(shí)現(xiàn)分布式負(fù)載均衡,遠(yuǎn)遠(yuǎn)不夠。必然會(huì)想到假設(shè)服務(wù)器群,來分擔(dān)主數(shù)據(jù)庫的壓力。今天總結(jié)一下利用MySQL主從配置,減輕數(shù)據(jù)庫壓力
    2021-06-06
  • 解決Mysql:ERROR?1045?(28000):Access?denied?for?user?‘root‘@‘localhost‘?(using?password:?NO)的方法

    解決Mysql:ERROR?1045?(28000):Access?denied?for?user?‘roo

    最近在我們連接數(shù)據(jù)庫的時(shí)候遇到個(gè)問題,感覺還挺容易遇到的,所以總結(jié)下,這篇文章主要給大家介紹了關(guān)于解決Mysql:ERROR?1045?(28000):Access?denied?for?user?‘root‘@‘localhost‘?(using?password:?NO)的方法,需要的朋友可以參考下
    2022-06-06
  • MySQL數(shù)據(jù)同步Elasticsearch的4種方案

    MySQL數(shù)據(jù)同步Elasticsearch的4種方案

    本文主要介紹了MySQL數(shù)據(jù)同步Elasticsearch的4種方案,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-03-03
  • mysql本地登錄無法使用端口號(hào)登錄的解決方法

    mysql本地登錄無法使用端口號(hào)登錄的解決方法

    這篇文章主要介紹了mysql本地登錄無法使用端口號(hào)登錄的解決方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-06-06
  • MySQL中ON DUPLICATE key update的使用

    MySQL中ON DUPLICATE key update的使用

    本文主要介紹了MySQL中ON DUPLICATE key update的使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05

最新評(píng)論