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

mysql語(yǔ)句性能分析工具之profiling用法

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

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

一、profiling的介紹

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

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

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

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

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

二、profiling使用方法

2.1、啟用命令

set profiling = 1;

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

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

2.3、查詢上述sql語(yǔ)句信息

show profiles;

 說(shuō)明:

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

2.4、查詢資源消耗情況

SHOW PROFILE CPU, BLOCK IO FOR QUERY 360;

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

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

SHOW PROFILE FOR QUERY 391;

優(yōu)化建議:

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

如果status列出現(xiàn)下面的信息就可以考慮對(duì)sql語(yǔ)句進(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ù)制到磁盤(pán)上
  • locked:發(fā)生了死鎖行為。                

2.6、關(guān)閉

set profiling = 0;

三、整體使用過(guò)程

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的擴(kuò)展功能生成全局ID

    基于MySql的擴(kuò)展功能生成全局ID

    本文借用 MySQL的擴(kuò)展功能 REPLACE INTO 來(lái)生成全局id,REPLACE INTO和INSERT的功能一樣,但是當(dāng)使用REPLACE INTO插入新數(shù)據(jù)行時(shí),如果新插入的行的主鍵或唯一鍵(UNIQUE Key)已有的行重復(fù)時(shí),已有的行會(huì)先被刪除,然后再將新數(shù)據(jù)行插入
    2015-12-12
  • ADODB 入門(mén)

    ADODB 入門(mén)

    ADODB 入門(mén)...
    2006-12-12
  • 一鍵安裝mysql5.7及密碼策略修改方法

    一鍵安裝mysql5.7及密碼策略修改方法

    這篇文章主要介紹了一鍵安裝mysql5.7及密碼策略修改方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2018-10-10
  • MySQL學(xué)習(xí)之完整性約束詳解

    MySQL學(xué)習(xí)之完整性約束詳解

    數(shù)據(jù)完整性指的是數(shù)據(jù)的一致性和正確性。完整性約束是指數(shù)據(jù)庫(kù)的內(nèi)容必須隨時(shí)遵守的規(guī)則。本文就來(lái)為大家講講MySQL中的完整性約束,需要的可以參考一下
    2022-08-08
  • mysql字符串的‘123’轉(zhuǎn)換為數(shù)字的123的實(shí)例

    mysql字符串的‘123’轉(zhuǎn)換為數(shù)字的123的實(shí)例

    下面小編就為大家?guī)?lái)一篇mysql字符串的‘123’轉(zhuǎn)換為數(shù)字的123的實(shí)例。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • Mysql select in 按id排序?qū)崿F(xiàn)方法

    Mysql select in 按id排序?qū)崿F(xiàn)方法

    有時(shí)候我們?cè)诤笈_(tái)選擇了一系列的id,我們想安裝填寫(xiě)id的順序進(jìn)行排序,那么就需要下面的order by方法,測(cè)試通過(guò)
    2013-03-03
  • SQL中兩列合并為一列的技巧總結(jié)(推薦!)

    SQL中兩列合并為一列的技巧總結(jié)(推薦!)

    在SQL中,拼接多個(gè)數(shù)據(jù)列成為一列是很常見(jiàn)的需求,在SQL中有很多函數(shù)可以實(shí)現(xiàn)這個(gè)需求,這篇文章主要介紹了SQL中兩列合并為一列技巧的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-08-08
  • 安裝mysql noinstall zip版

    安裝mysql noinstall zip版

    沒(méi)用過(guò)mysql, 這幾天折騰django ,發(fā)現(xiàn)連接mssql好像還是有些小bug,為了防止日后項(xiàng)目有些莫名的db故障,故選擇django推薦之一的mysql
    2011-12-12
  • MySQL 8.0.18給數(shù)據(jù)庫(kù)添加用戶和賦權(quán)問(wèn)題

    MySQL 8.0.18給數(shù)據(jù)庫(kù)添加用戶和賦權(quán)問(wèn)題

    這篇文章主要介紹了MySQL 8.0.18給數(shù)據(jù)庫(kù)添加用戶和賦權(quán)問(wèn)題,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-12-12
  • MySql 存儲(chǔ)引擎和索引相關(guān)知識(shí)總結(jié)

    MySql 存儲(chǔ)引擎和索引相關(guān)知識(shí)總結(jié)

    這篇文章主要介紹了MySql 存儲(chǔ)引擎和索引相關(guān)知識(shí)總結(jié),文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06

最新評(píng)論

阳西县| 通河县| 怀安县| 丘北县| 翼城县| 绥德县| 昆山市| 四平市| 嵊州市| 安溪县| 铜山县| 穆棱市| 五寨县| 汪清县| 泸州市| 河北区| 兰州市| 丰原市| 临泽县| 原阳县| 柘荣县| 昌都县| 湘阴县| 榆树市| 巴里| 监利县| 昌都县| 永州市| 泰宁县| 郓城县| 育儿| 玛多县| 上高县| 吴旗县| 芜湖市| 娱乐| 忻城县| 离岛区| 屯留县| 安西县| 通海县|