欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

mysql中profile的使用方法教程

 更新時(shí)間:2018年09月09日 17:05:57   作者:水木清華_f221  
這篇文章主要給大家介紹了關(guān)于mysql中profile的使用方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

profile是什么

當(dāng)我們要對(duì)某一條sql的性能進(jìn)行分析時(shí),可以使用它。

Profiling是從 mysql5.0.3版本以后才開放的。

啟動(dòng)profile之后,所有查詢包括錯(cuò)誤的語句都會(huì)記錄在內(nèi)。

關(guān)閉會(huì)話或者set profiling=0 就關(guān)閉了。(如果將profiling_history_size參數(shù)設(shè)置為0,同樣具有關(guān)閉MySQL的profiling效果。)

此工具可用來查詢SQL執(zhí)行狀態(tài),System lock和Table lock 花多少時(shí)間等等,

對(duì)定位一條語句的I/O消耗和CPU消耗 非常重要。(SQL 語句執(zhí)行所消耗的最大兩部分資源就是IO和CPU)

--在mysql5.7之后,profile信息將逐漸被廢棄,mysql推薦使用performance schema

mysql官網(wǎng)定義

The SHOW PROFILE and SHOW PROFILES statements display profiling information that indicates resource usage for statements executed during the course of the current session.

簡(jiǎn)單的說,當(dāng)前會(huì)話資源的消耗情況。

注意:show profile和show Profiles都是不建議使用的,在mysql后期的版本中可能會(huì)被刪除;官網(wǎng)建議使用Performance Schema

怎么使用

profile默認(rèn)關(guān)閉,生產(chǎn)環(huán)境中也建議關(guān)閉。

查看當(dāng)前環(huán)境的profile設(shè)置

mysql> show variables like '%profiling%';
+------------------------+-------+
| Variable_name   | Value |
+------------------------+-------+
| have_profiling   | YES |
| profiling    | OFF |
| profiling_history_size | 15 |
+------------------------+-------+

profiling off表示profile關(guān)閉,profiling_history_size 15表示保存最近15條SQL的資源消耗情況。

開啟profile功能,可以使用命令

set global profiling = 1;

然后就可以使用下面命令

show profiles;

查看最近15條SQL的情況;

如果要查看某一條的具體情況,SQL格式為:

SHOW PROFILE [type [, type] ... ]
 [FOR QUERY n]
 [LIMIT row_count [OFFSET offset]]

type: {
 ALL
 | BLOCK IO
 | CONTEXT SWITCHES
 | CPU
 | IPC
 | MEMORY
 | PAGE FAULTS
 | SOURCE
 | SWAPS
}

官網(wǎng)對(duì)type中各個(gè)字段的解釋為:

    ALL displays all information

    BLOCK IO displays counts for block input and output operations

    CONTEXT SWITCHES displays counts for voluntary and involuntary context switches

    CPU displays user and system CPU usage times

    IPC displays counts for messages sent and received

    MEMORY is not currently implemented

    PAGE FAULTS displays counts for major and minor page faults

    SOURCE displays the names of functions from the source code, together with the name and line number of the file in which the function occurs

    SWAPS displays swap counts

profiling 對(duì)每個(gè)會(huì)話有效,當(dāng)會(huì)話結(jié)束后,當(dāng)前的profiling信息就會(huì)丟失。

使用案例

mysql> show profiles;
+----------+------------+----------------------------+
| Query_ID | Duration | Query      |
+----------+------------+----------------------------+
|  1 | 0.00060275 | select * from customers |
|  2 | 0.00222450 | show tables    |
|  3 | 0.00567425 | select * from offices  |
|  4 | 0.00052050 | show tables    |
|  5 | 0.01123300 | select * from payments  |
|  6 | 0.00111675 | show tables    |
|  7 | 0.02049625 | select * from productlines |
+----------+------------+----------------------------+

在排查SQL執(zhí)行情況,或者是哪條SQL執(zhí)行非常慢,慢在哪里;profile都是非常的輔助工具。

顯示一條SQL的具體花銷在哪里

mysql> show profile for query 7;
+----------------------+----------+
| Status    | Duration |
+----------------------+----------+
| starting    | 0.000043 |
| checking permissions | 0.000005 |
| Opening tables  | 0.014552 |
| init     | 0.000025 |
| System lock   | 0.000009 |
| optimizing   | 0.000004 |
| statistics   | 0.000011 |
| preparing   | 0.000010 |
| executing   | 0.000003 |
| Sending data   | 0.005653 |
| end     | 0.000010 |
| query end   | 0.000009 |
| closing tables  | 0.000020 |
| freeing items  | 0.000121 |
| cleaning up   | 0.000023 |
+----------------------+----------+

信息一目了然,這樣我就能對(duì)SQL執(zhí)行情況有個(gè)大概的了解。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

  • MySQL select查詢之LIKE與通配符用法

    MySQL select查詢之LIKE與通配符用法

    這篇文章主要介紹了MySQL select查詢之LIKE與通配符用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • linux mysql 報(bào)錯(cuò):MYSQL:The server quit without updating PID file

    linux mysql 報(bào)錯(cuò):MYSQL:The server quit&nbs

    mysql 報(bào)錯(cuò):MYSQL:The server quit without updating PID file。以下是可能的原因與解決方法
    2013-02-02
  • MySQL 線上數(shù)據(jù)庫清理數(shù)據(jù)的方法

    MySQL 線上數(shù)據(jù)庫清理數(shù)據(jù)的方法

    這篇文章主要介紹了MySQL 線上數(shù)據(jù)庫清理數(shù)據(jù)的方法,幫助大家更好的理解和學(xué)習(xí)使用MySQL,感興趣的朋友可以了解下
    2021-03-03
  • MySQL復(fù)制機(jī)制原理講解

    MySQL復(fù)制機(jī)制原理講解

    在本篇文章中小編通過詼諧幽默的語言圖文給大家講述了MySQL復(fù)制機(jī)制的原理及相關(guān)知識(shí)點(diǎn),需要的朋友們參考下。
    2019-05-05
  • mysql中的load命令使用方法

    mysql中的load命令使用方法

    使用mysql 中的load 命令,可以將txt 文件中的內(nèi)容加載到數(shù)據(jù)庫表中
    2013-10-10
  • 利用Shell腳本實(shí)現(xiàn)遠(yuǎn)程MySQL自動(dòng)查詢

    利用Shell腳本實(shí)現(xiàn)遠(yuǎn)程MySQL自動(dòng)查詢

    本篇文章是對(duì)利用Shell腳本實(shí)現(xiàn)遠(yuǎn)程MySQL自動(dòng)查詢的方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • MySQL存儲(chǔ)過程的查看與刪除實(shí)例講解

    MySQL存儲(chǔ)過程的查看與刪除實(shí)例講解

    存儲(chǔ)過程存儲(chǔ)過程在創(chuàng)建之后,被保存在服務(wù)器上以供使用,直至被刪除,下面這篇文章主要給大家介紹了關(guān)于MySQL存儲(chǔ)過程的查看與刪除的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-03-03
  • MySQL字符集中文亂碼解析

    MySQL字符集中文亂碼解析

    這篇文章主要給大家解析了MySQL字符集中文亂碼的問題,文章通過代碼示例講解的非常詳細(xì),對(duì)我們的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-09-09
  • 最新評(píng)論