中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

mysql性能分析工具profile使用教程
來源:易賢網 閱讀:1273 次 日期:2014-12-10 11:56:36
溫馨提示:易賢網小編為您整理了“mysql性能分析工具profile使用教程”,方便廣大網友查閱!

分析sql執行帶來的開銷是優化sql的重要手段。在mysql數據庫中,可以通過配置profiling參數來啟用sql剖析。該參數可以在全局和session級別來設置。對于全局級別則作用于整個mysql實例,而session級別緊影響當前session。該參數開啟后,后續執行的sql語句都將記錄其資源開銷,諸如io,上下文切換,cpu,memory等等。根據這些開銷進一步分析當前sql瓶頸從而進行優化與調整。本文描述了如何使用mysql profile,不涉及具體的樣例分析。

1、有關profile的描述

代碼如下:

--當前版本

]> show variables like 'version';

+---------------+---------------------------------------+

| variable_name | value |

+---------------+---------------------------------------+

| version | 5.6.17-enterprise-commercial-advanced |

+---------------+---------------------------------------+

--查看profiling系統變量

]> show variables like '%profil%';

+------------------------+-------+

| variable_name | value |

+------------------------+-------+

| have_profiling | yes | --只讀變量,用于控制是否由系統變量開啟或禁用profiling

| profiling | off | --開啟sql語句剖析功能

| profiling_history_size | 15 | --設置保留profiling的數目,缺省為15,范圍為0至100,為0時將禁用profiling

+------------------------+-------+

profiling [539]

if set to 0 or off (the default), statement profiling is disabled. if set to 1 or on, statement prof

is enabled and the show profile and show profiles statements provide access to prof

information. see section 13.7.5.32, “show profiles syntax”.

this variable is deprecated in mysql 5.6.8 and will be removed in a future mysql release.

profiling_history_size [539]

the number of statements for which to maintain profiling information if profiling [539] is

enabled. the default value is 15. the maximum value is 100. setting the value to 0 effectively

disables profiling. see section 13.7.5.32, “show profiles syntax”.

this variable is deprecated in mysql 5.6.8 and will be removed in a future mysql release.

--獲取profile的幫助

]> help profile;

name: 'show profile'

description:

syntax:

show profile [type [, type] ... ]

[for query n]

[limit row_count [offset offset]]

type:

all --顯示所有的開銷信息

| block io --顯示塊io相關開銷

| context switches --上下文切換相關開銷

| cpu --顯示cpu相關開銷信息

| ipc --顯示發送和接收相關開銷信息

| memory --顯示內存相關開銷信息

| page faults --顯示頁面錯誤相關開銷信息

| source --顯示和source_function,source_file,source_line相關的開銷信息

| swaps --顯示交換次數相關開銷的信息

the show profile and show profiles statements display profiling

information that indicates resource usage for statements executed

during the course of the current session.

*note*: these statements are deprecated as of mysql 5.6.7 and will be

removed in a future mysql release. use the performance schema instead;

see.

--上面描述從5.6.7開始該命令將會被移除,用performance schema instead代替

--在oracle數據庫中,是通過autotrace來剖析單條sql并獲取真實的執行計劃以及其開銷信息

2、開啟porfiling

代碼如下:

--啟用session級別的profiling

]> set profiling=1;

query ok, 0 rows affected, 1 warning (0.00 sec)

--驗證修改后的結果

]> show variables like '%profil%';

+------------------------+-------+

| variable_name | value |

+------------------------+-------+

| have_profiling | yes |

| profiling | on |

| profiling_history_size | 15 |

+------------------------+-------+

--發布sql查詢

]> select count(*) from customer;

+----------+

| count(*) |

+----------+

| 599 |

+----------+

--查看當前session所有已產生的profile

]> show profiles;

+----------+------------+--------------------------------+

| query_id | duration | query |

+----------+------------+--------------------------------+

| 1 | 0.00253600 | show variables like '%profil%' |

| 2 | 0.00138150 | select count(*) from customer |

+----------+------------+--------------------------------+

2 rows in set, 1 warning (0.01 sec)

--我們看到有2個warning,之前一個,現在一個

]> show warnings; --下面的結果表明show profiles將來會被performance schema替換掉

+---------+------+--------------------------------------------------------------------------------------------------------------+

| level | code | message |

+---------+------+--------------------------------------------------------------------------------------------------------------+

| warning | 1287 | 'show profiles' is deprecated and will be removed in a future release. please use performance schema instead |

+---------+------+--------------------------------------------------------------------------------------------------------------+

3、獲取sql語句的開銷信息

代碼如下:

--可以直接使用show profile來查看上一條sql語句的開銷信息

--注,show profile之類的語句不會被profiling,即自身不會產生profiling

--我們下面的這個show profile查看的是show warnings產生的相應開銷

]> show profile;

+----------------+----------+

| status | duration |

+----------------+----------+

| starting | 0.000141 |

| query end | 0.000058 |

| closing tables | 0.000014 |

| freeing items | 0.001802 |

| cleaning up | 0.000272 |

+----------------+----------+

--如下面的查詢show warnings被添加到profiles

]> show profiles;

+----------+------------+--------------------------------+

| query_id | duration | query |

+----------+------------+--------------------------------+

| 1 | 0.00253600 | show variables like '%profil%' |

| 2 | 0.00138150 | select count(*) from customer |

| 3 | 0.00228600 | show warnings |

+----------+------------+--------------------------------+

--獲取指定查詢的開銷

]> show profile for query 2;

+----------------------+----------+

| status | duration |

+----------------------+----------+

| starting | 0.000148 |

| checking permissions | 0.000014 |

| opening tables | 0.000047 |

| init | 0.000023 |

| system lock | 0.000035 |

| optimizing | 0.000012 |

| statistics | 0.000019 |

| preparing | 0.000014 |

| executing | 0.000006 |

| sending data | 0.000990 |

| end | 0.000010 |

| query end | 0.000011 |

| closing tables | 0.000010 |

| freeing items | 0.000016 |

| cleaning up | 0.000029 |

+----------------------+----------+

--查看特定部分的開銷,如下為cpu部分的開銷

]> show profile cpu for query 2 ;

+----------------------+----------+----------+------------+

| status | duration | cpu_user | cpu_system |

+----------------------+----------+----------+------------+

| starting | 0.000148 | 0.000000 | 0.000000 |

| checking permissions | 0.000014 | 0.000000 | 0.000000 |

| opening tables | 0.000047 | 0.000000 | 0.000000 |

| init | 0.000023 | 0.000000 | 0.000000 |

| system lock | 0.000035 | 0.000000 | 0.000000 |

| optimizing | 0.000012 | 0.000000 | 0.000000 |

| statistics | 0.000019 | 0.000000 | 0.000000 |

| preparing | 0.000014 | 0.000000 | 0.000000 |

| executing | 0.000006 | 0.000000 | 0.000000 |

| sending data | 0.000990 | 0.001000 | 0.000000 |

| end | 0.000010 | 0.000000 | 0.000000 |

| query end | 0.000011 | 0.000000 | 0.000000 |

| closing tables | 0.000010 | 0.000000 | 0.000000 |

| freeing items | 0.000016 | 0.000000 | 0.000000 |

| cleaning up | 0.000029 | 0.000000 | 0.000000 |

+----------------------+----------+----------+------------+

--如下為memory部分的開銷

]> show profile memory for query 2 ;

+----------------------+----------+

| status | duration |

+----------------------+----------+

| starting | 0.000148 |

| checking permissions | 0.000014 |

| opening tables | 0.000047 |

| init | 0.000023 |

| system lock | 0.000035 |

| optimizing | 0.000012 |

| statistics | 0.000019 |

| preparing | 0.000014 |

| executing | 0.000006 |

| sending data | 0.000990 |

| end | 0.000010 |

| query end | 0.000011 |

| closing tables | 0.000010 |

| freeing items | 0.000016 |

| cleaning up | 0.000029 |

+----------------------+----------+

--同時查看不同資源開銷

]> show profile block io,cpu for query 2;

+----------------------+----------+----------+------------+--------------+---------------+

| status | duration | cpu_user | cpu_system | block_ops_in | block_ops_out |

+----------------------+----------+----------+------------+--------------+---------------+

| starting | 0.000148 | 0.000000 | 0.000000 | 0 | 0 |

| checking permissions | 0.000014 | 0.000000 | 0.000000 | 0 | 0 |

| opening tables | 0.000047 | 0.000000 | 0.000000 | 0 | 0 |

| init | 0.000023 | 0.000000 | 0.000000 | 0 | 0 |

| system lock | 0.000035 | 0.000000 | 0.000000 | 0 | 0 |

| optimizing | 0.000012 | 0.000000 | 0.000000 | 0 | 0 |

| statistics | 0.000019 | 0.000000 | 0.000000 | 0 | 0 |

| preparing | 0.000014 | 0.000000 | 0.000000 | 0 | 0 |

| executing | 0.000006 | 0.000000 | 0.000000 | 0 | 0 |

| sending data | 0.000990 | 0.001000 | 0.000000 | 0 | 0 |

| end | 0.000010 | 0.000000 | 0.000000 | 0 | 0 |

| query end | 0.000011 | 0.000000 | 0.000000 | 0 | 0 |

| closing tables | 0.000010 | 0.000000 | 0.000000 | 0 | 0 |

| freeing items | 0.000016 | 0.000000 | 0.000000 | 0 | 0 |

| cleaning up | 0.000029 | 0.000000 | 0.000000 | 0 | 0 |

+----------------------+----------+----------+------------+--------------+---------------+

--下面的sql語句用于查詢query_id為2的sql開銷,且按最大耗用時間倒序排列

]> set @query_id=2;

]> select state, sum(duration) as total_r,

-> round(

-> 100 * sum(duration) /

-> (select sum(duration)

-> from information_schema.profiling

-> where query_id = @query_id

-> ), 2) as pct_r,

-> count(*) as calls,

-> sum(duration) / count(*) as r/call

-> from information_schema.profiling

-> where query_id = @query_id

-> group by state

-> order by total_r desc;

+----------------------+----------+-------+-------+--------------+

| state | total_r | pct_r | calls | r/call |

+----------------------+----------+-------+-------+--------------+

| sending data | 0.000990 | 71.53 | 1 | 0.0009900000 |--最大耗用時間部分為發送數據

| starting | 0.000148 | 10.69 | 1 | 0.0001480000 |

| opening tables | 0.000047 | 3.40 | 1 | 0.0000470000 |

| system lock | 0.000035 | 2.53 | 1 | 0.0000350000 |

| cleaning up | 0.000029 | 2.10 | 1 | 0.0000290000 |

| init | 0.000023 | 1.66 | 1 | 0.0000230000 |

| statistics | 0.000019 | 1.37 | 1 | 0.0000190000 |

| freeing items | 0.000016 | 1.16 | 1 | 0.0000160000 |

| preparing | 0.000014 | 1.01 | 1 | 0.0000140000 |

| checking permissions | 0.000014 | 1.01 | 1 | 0.0000140000 |

| optimizing | 0.000012 | 0.87 | 1 | 0.0000120000 |

| query end | 0.000011 | 0.79 | 1 | 0.0000110000 |

| end | 0.000010 | 0.72 | 1 | 0.0000100000 |

| closing tables | 0.000010 | 0.72 | 1 | 0.0000100000 |

| executing | 0.000006 | 0.43 | 1 | 0.0000060000 |

+----------------------+----------+-------+-------+--------------+

--開啟profiling后,我們可以通過show profile等方式查看,其實質是這些開銷信息被記錄到information_schema.profiling表

--如下面的查詢,部分信息省略

profiling

]> select * from profiling limit 3,3\g;

*************************** 1. row ***************************

query_id: 1

seq: 5

state: init

duration: 0.000020

cpu_user: 0.000000

cpu_system: 0.000000

context_voluntary: 0

context_involuntary: 0

block_ops_in: 0

block_ops_out: 0

messages_sent: 0

messages_received: 0

page_faults_major: 0

page_faults_minor: 0

swaps: 0

source_function: mysql_prepare_select

source_file: sql_select.cc

source_line: 1050

--停止profile,可以設置profiling參數,或者在session退出之后,profiling會被自動關閉

]> set profiling=off;

query ok, 0 rows affected, 1 warning (0.00 sec)

更多信息請查看IT技術專欄

更多信息請查看數據庫
易賢網手機網站地址:mysql性能分析工具profile使用教程
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
另类激情亚洲| 欧美精品亚洲一区二区在线播放| 久久精品国产亚洲a| 欧美午夜视频| 亚洲尤物在线视频观看| 欧美视频一区二区三区四区| 亚洲一区二区在线观看视频| 国产精品视频久久久| 欧美在线一二三| 亚洲第一在线综合网站| 欧美久久电影| 小黄鸭精品密入口导航| 伊人春色精品| 欧美日韩麻豆| 久久久亚洲一区| 一道本一区二区| 一区二区三区在线视频观看| 欧美欧美全黄| 欧美成ee人免费视频| 亚洲欧美视频一区二区三区| 国产一区二区精品久久99| 另类人畜视频在线| 欧美一级电影久久| 在线综合视频| 亚洲精品综合在线| 亚洲第一综合天堂另类专| 国产欧美成人| 国产精品jizz在线观看美国| 玖玖在线精品| 久久精品一区中文字幕| 先锋影音网一区二区| 日韩亚洲国产欧美| 91久久在线视频| 亚洲国产精品久久久久秋霞蜜臀| 国产偷国产偷亚洲高清97cao | 亚洲网站啪啪| 99国产成+人+综合+亚洲欧美| 一区二区亚洲精品国产| 国产亚洲福利| 精品成人国产| 永久91嫩草亚洲精品人人| 国产一区二区精品久久99| 欧美三日本三级少妇三99| 美女视频黄 久久| 久久丁香综合五月国产三级网站| 国产一本一道久久香蕉| 欧美aⅴ一区二区三区视频| 久久久久久尹人网香蕉| 欧美日韩国产精品专区| 欧美性生交xxxxx久久久| 国产精品爽黄69| 伊人狠狠色j香婷婷综合| 亚洲欧洲精品一区二区三区不卡 | 欧美伊人久久久久久久久影院| 亚洲自拍另类| 久久人人97超碰精品888| 久久香蕉国产线看观看网| 欧美国产综合一区二区| 国产精品成人一区| 在线观看中文字幕不卡| 亚洲一区精品电影| 免费日韩一区二区| 国产欧美精品一区aⅴ影院| 一区二区在线看| 欧美日韩国产一中文字不卡 | 亚洲欧美日本伦理| 老司机免费视频一区二区三区| 看片网站欧美日韩| 国产精品欧美经典| 一区二区三区四区五区精品视频 | 欧美91视频| 国产精品sss| 亚洲精品三级| 免费高清在线一区| 一区二区三区在线免费观看| 亚洲欧美国产日韩天堂区| 欧美成人一区二区三区| 国内自拍一区| 久久久久久亚洲精品杨幂换脸| 国产精品福利在线观看| 艳女tv在线观看国产一区| 欧美18av| 亚洲精品在线电影| 欧美精品一区二区三区蜜桃 | 久久精品国产欧美激情| 国产精品久久久久一区二区三区 | 亚洲激情网站| 欧美电影免费观看高清完整版| 一区二区三区在线视频观看| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 国产精品久久77777| 亚洲永久字幕| 国产综合久久| 免费亚洲一区| 亚洲久久一区| 国产精品欧美一区喷水| 在线视频一区二区| 国产精品美女久久久久久久| 亚洲女同性videos| 精品成人国产| 欧美日韩国产在线| 性色av一区二区怡红| 国产一区二区精品| 欧美精品成人| 亚洲日本乱码在线观看| 欧美日韩视频一区二区三区| 亚洲一级特黄| 国产精品视频午夜| 噜噜噜躁狠狠躁狠狠精品视频| 欧美一区二区三区四区在线观看| 国产女人18毛片水18精品| 欧美成人免费全部| 午夜国产精品视频免费体验区| 国产视频一区在线观看一区免费| 欧美国产一区在线| 久久亚裔精品欧美| 亚洲一区二区日本| 亚洲精品欧美日韩| 国产目拍亚洲精品99久久精品| 麻豆av福利av久久av| 亚洲在线视频| 亚洲精选在线| 在线看国产日韩| 国产一区二区三区四区在线观看| 欧美成人69| 欧美在线视频一区二区| 日韩视频在线一区二区| 经典三级久久| 9国产精品视频| 亚洲片在线观看| 亚洲激情欧美| 一区二区三区在线免费播放| 国产精品99免视看9| 欧美黑人多人双交| 久久精品国产精品亚洲综合| 欧美一区二粉嫩精品国产一线天| 亚洲特级片在线| 亚洲欧美精品中文字幕在线| 亚洲福利一区| 日韩视频免费观看高清在线视频| 亚洲美女淫视频| 亚洲私人黄色宅男| 新67194成人永久网站| 国产情人节一区| 国产精品白丝jk黑袜喷水| 国产精品视区| 激情久久久久久久| …久久精品99久久香蕉国产| 日韩小视频在线观看| 亚洲人成人一区二区三区| 亚洲一区亚洲| 欧美激情视频给我| 国产农村妇女毛片精品久久麻豆| 在线观看亚洲精品| 亚洲在线电影| 欧美日韩一区二区在线播放| 国产一级一区二区| 一区二区三区视频免费在线观看| 久久久综合精品| 国产女人水真多18毛片18精品视频| 欲色影视综合吧| 亚洲一区影音先锋| 欧美激情视频一区二区三区不卡| 国内偷自视频区视频综合| 一本色道综合亚洲| 欧美日韩亚洲高清| 亚洲欧洲综合另类| 欧美精品在线观看91| 欧美日韩国产经典色站一区二区三区| 国产揄拍国内精品对白| 欧美一区二区三区喷汁尤物| 欧美视频你懂的| 欧美精品在线免费播放| 国产三级欧美三级日产三级99| 日韩视频二区| 欧美午夜激情小视频| 99综合精品| 国产精品成av人在线视午夜片| 亚洲乱码国产乱码精品精可以看| 欧美午夜在线观看| 在线观看欧美成人| 亚洲婷婷国产精品电影人久久| 久久久噜噜噜久久人人看| 亚洲高清一区二| 国产日韩欧美一区在线 | 欧美成人蜜桃| 韩国av一区二区| 亚洲欧洲精品一区二区三区 | 国产欧美精品久久| 亚洲黑丝在线| 麻豆国产精品777777在线| 欧美日韩午夜视频在线观看| 在线观看一区| 香蕉久久a毛片| 国产欧美在线播放| 久久久久综合| 国产在线拍揄自揄视频不卡99| 亚洲欧美影音先锋| 国产日韩在线视频| 久久综合99re88久久爱|