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

mysql中profile的使用方法教程

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

profile是什么

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

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

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

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

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

對定位一條語句的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.

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

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

怎么使用

profile默認關(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)對type中各個字段的解釋為:

    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 對每個會話有效,當(dāng)會話結(jié)束后,當(dāng)前的profiling信息就會丟失。

使用案例

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 |
+----------------------+----------+

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

總結(jié)

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

相關(guān)文章

  • MySQL使用集合函數(shù)進行查詢操作實例詳解

    MySQL使用集合函數(shù)進行查詢操作實例詳解

    這篇文章主要介紹了MySQL使用集合函數(shù)進行查詢操作,結(jié)合實例形式詳細分析了MySQL使用集合函數(shù)進行的運算與查詢操作使用技巧,需要的朋友可以參考下
    2018-06-06
  • sysbench-0.4.12編譯安裝和CPU測試例子分享

    sysbench-0.4.12編譯安裝和CPU測試例子分享

    這篇文章主要介紹了sysbench-0.4.12編譯安裝和CPU測試例子分享,本文還包含安裝過程中的錯誤及解決方法,使用時的錯誤和解決方法,需要的朋友可以參考下
    2014-07-07
  • MySQL select查詢之LIKE與通配符用法

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

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

    linux mysql 報錯:MYSQL:The server quit&nbs

    mysql 報錯: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ù)制機制原理講解

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

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

    mysql中的load命令使用方法

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

    利用Shell腳本實現(xiàn)遠程MySQL自動查詢

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

    MySQL存儲過程的查看與刪除實例講解

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

    MySQL字符集中文亂碼解析

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

最新評論