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

MySQL性能分析工具profile使用教程
來源:易賢網 閱讀:1981 次 日期:2014-11-26 09:48:11
溫馨提示:易賢網小編為您整理了“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)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
欧美视频一二三区| 亚洲国产色一区| 久久精品亚洲一区二区| 欧美在线视频日韩| 亚洲午夜影视影院在线观看| 欧美一级视频| 欧美国产日韩免费| 久久综合狠狠| 国产噜噜噜噜噜久久久久久久久| 欧美一区二区三区四区在线 | 欧美乱在线观看| 亚洲一区欧美一区| 久久综合九色综合久99| 欧美激情亚洲激情| 国产精品乱看| 亚洲免费观看| 欧美三区在线观看| 一本久道久久综合狠狠爱| 欧美精品亚洲二区| 中日韩美女免费视频网站在线观看| 欧美午夜国产| 久久久久国产精品人| 亚洲黄页视频免费观看| 欧美午夜寂寞影院| 国产精品一区二区在线观看不卡| 欧美在线免费观看| 一本久久a久久精品亚洲| 久久激情五月婷婷| 亚洲精品你懂的| 国产亚洲精品久久久久久| 久久国产精品第一页| 日韩视频免费在线观看| 国产一区二区三区四区| 欧美区在线观看| 久久久久久久尹人综合网亚洲| 日韩视频国产视频| 影音先锋在线一区| 国产精品视频99| 欧美区在线播放| 欧美在线视频不卡| 亚洲福利视频二区| 国产欧美日韩在线视频| 欧美一区二区精品久久911| 亚洲激情在线观看| 老鸭窝毛片一区二区三区| 亚洲人成高清| 国产欧美韩国高清| 欧美午夜在线观看| 羞羞色国产精品| 一区二区三区久久久| 欧美性色综合| 欧美一区二区黄色| 国产精品va在线| 久久婷婷久久| 亚洲欧美一区二区原创| 在线日韩一区二区| 国产偷国产偷精品高清尤物| 欧美理论片在线观看| 久久综合一区二区| 日韩视频中午一区| 亚洲二区在线观看| 国产伊人精品| 国产伦精品一区二区三区免费迷| 欧美日韩精品一区二区| 女主播福利一区| 久久全球大尺度高清视频| 欧美一二三区精品| 午夜精品久久久久久99热软件 | 国内精品久久久久伊人av| 欧美大片一区二区| 欧美伦理a级免费电影| 国产精品人人做人人爽人人添| 国产欧美一区二区三区在线看蜜臀| 国产精品日韩在线播放| 欧美精品日韩三级| 在线播放亚洲一区| 国产精品永久免费视频| 久久精品国产99| 最新精品在线| 狠狠久久五月精品中文字幕| 久久人91精品久久久久久不卡| 在线亚洲+欧美+日本专区| 亚洲国产午夜| 狠狠做深爱婷婷久久综合一区 | 国产精品一区二区你懂得| 欧美成在线观看| 狂野欧美激情性xxxx欧美| 欧美午夜一区二区三区免费大片| 久久婷婷丁香| 欧美三级网址| 国产欧美三级| 国产一区91| 国产欧美视频一区二区| 影音先锋亚洲视频| 一区二区三区高清在线观看| 日韩午夜在线观看视频| 亚洲视频自拍偷拍| 欧美一二三视频| 欧美大胆a视频| 欧美日韩国产专区| 国产伪娘ts一区| 亚洲成人资源| 亚洲免费人成在线视频观看| 久久超碰97中文字幕| 欧美国产极速在线| 国产精品成人一区二区三区夜夜夜 | 亚洲国产欧美日韩| 午夜日韩电影| 欧美伦理91i| 亚洲国产精品专区久久| 欧美一区二区三区成人| 国产精品一区二区三区免费观看| 欧美日在线观看| 亚洲综合电影| 免费成人网www| 黄色精品一区| 欧美性事免费在线观看| 欧美一区二区国产| 亚洲日本成人女熟在线观看| 国产精品久久久久久久久久免费| 久久精品夜夜夜夜久久| 99av国产精品欲麻豆| 国产真实乱子伦精品视频| 欧美区日韩区| 久久久一二三| 午夜精品久久久久久久| 欧美影院成年免费版| 久久精品人人做人人爽| 亚洲一本视频| 国产精品免费aⅴ片在线观看| 久久久激情视频| 亚洲精品一二三区| 国产精品免费aⅴ片在线观看| 久久精品视频导航| 最新69国产成人精品视频免费| 欧美一区午夜精品| 国产精品日韩专区| 欧美1区2区3区| 午夜久久久久久久久久一区二区| 精品成人国产| 国产精品美女视频网站| 噜噜噜噜噜久久久久久91| 亚洲一区尤物| 亚洲日韩欧美视频| 国产一区二区中文| 欧美视频在线观看一区二区| 久久综合色一综合色88| 欧美一区二区女人| 亚洲一区欧美| 一区二区日韩欧美| 亚洲人成在线观看| 在线观看一区| 国产一区二区看久久| 国产精品白丝jk黑袜喷水| 欧美国产欧美亚洲国产日韩mv天天看完整 | 国产精品欧美日韩久久| 欧美激情精品久久久久久大尺度 | 欧美精品一区三区| 久久精品一区四区| 欧美国产日韩在线| 国产欧美一区二区三区视频 | 欧美精品久久天天躁| 欧美日韩福利在线观看| 国产精品久久久爽爽爽麻豆色哟哟 | 欧美日韩一区免费| 国产精品永久| 亚洲国产精品成人综合色在线婷婷| 亚洲毛片在线免费观看| 亚洲欧洲99久久| 欧美大片国产精品| 国产日本欧美一区二区| 亚洲国产mv| 亚洲小说欧美另类社区| 欧美专区第一页| 欧美高清视频www夜色资源网| 国产精品电影网站| 国产亚洲欧美日韩日本| 99爱精品视频| 欧美一区激情视频在线观看| 欧美日韩国产不卡| 国产香蕉久久精品综合网| 亚洲美女精品一区| 久久精品亚洲精品| 欧美体内she精视频在线观看| 亚洲福利视频二区| 午夜精品久久久久| 欧美国产大片| 亚洲国产va精品久久久不卡综合| 亚洲在线一区| 欧美人成网站| 一本色道婷婷久久欧美| 另类国产ts人妖高潮视频| 欧美高清视频| 在线观看一区二区精品视频| 国产一区二区三区不卡在线观看| 欧美午夜电影完整版| 亚洲国产一区在线| 香蕉视频成人在线观看 | 国产精品丝袜91| 亚洲三级视频在线观看|