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

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

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

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

一、profiling的介紹

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

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

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

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

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

二、profiling使用方法

2.1、啟用命令

set profiling = 1;

2.2、啟動命令后,運行想要查詢性能的sql語句

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

2.3、查詢上述sql語句信息

show profiles;

 說明:

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

2.4、查詢資源消耗情況

SHOW PROFILE CPU, BLOCK IO FOR QUERY 360;

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

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

SHOW PROFILE FOR QUERY 391;

優(yōu)化建議:

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

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

  • converting heap to  MyISAM:查詢結(jié)果太大,內(nèi)存不夠用
  • creating tmp table:創(chuàng)建了臨時表。先拷貝數(shù)據(jù)到臨時表,用完后再刪除臨時表。
  • copying to tmp table on disk:把內(nèi)存中臨時表復(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é)

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

相關(guān)文章

  • 基于MySql的擴展功能生成全局ID

    基于MySql的擴展功能生成全局ID

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

    ADODB 入門

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

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

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

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

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

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

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

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

    有時候我們在后臺選擇了一系列的id,我們想安裝填寫id的順序進行排序,那么就需要下面的order by方法,測試通過
    2013-03-03
  • SQL中兩列合并為一列的技巧總結(jié)(推薦!)

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

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

    安裝mysql noinstall zip版

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

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

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

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

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

最新評論

马关县| 广西| 平阴县| 富川| 宁晋县| 敖汉旗| 望奎县| 苗栗县| 蓬莱市| 富锦市| 鹿泉市| 阿瓦提县| 侯马市| 阜康市| 神农架林区| 黄平县| 大冶市| 交城县| 乐业县| 四平市| 南充市| 景洪市| 唐海县| 麻栗坡县| 天等县| 永胜县| 海林市| 沛县| 含山县| 永修县| 桑植县| 凤庆县| 河源市| 安宁市| 高陵县| 邯郸县| 海原县| 旅游| 肃南| 石阡县| 巩义市|