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

解析Mysql Profiling的使用

 更新時(shí)間:2013年06月14日 10:19:41   作者:  
本篇文章是對(duì)Mysql Profiling的使用進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
profiling是個(gè)很好用的mysql性能分析工具,今兒就來試驗(yàn)下profiling的功能。感謝 有愛玫瑰的博文:
mysql 的 sql 性能分析器主要用途是顯示 sql 執(zhí)行的整個(gè)過程中各項(xiàng)資源的使用情況。分析器可以更好的展示出不良 SQL 的性能問題所在。
下面我們舉例介紹一下MySQL SQL Profiler的使用方法:
首先,開啟 MySQL SQL Profiler
復(fù)制代碼 代碼如下:

mysql> SELECT @@profiling;
    +-------------+
    | @@profiling |
    +-------------+
    | 0 |
    +-------------+
    1 row in set (0.00 sec)
    mysql> SET profiling = 1;
    Query OK, 0 rows affected (0.00 sec)
    mysql> SELECT @@profiling;
    +-------------+
    | @@profiling |
    +-------------+
    | 1 |
    +-------------+

1 row in set (0.00 sec)默認(rèn)情況下 profiling 的值為 0 表示 MySQL SQL Profiler 處于 OFF 狀態(tài),開啟 SQL 性能分析器后 profiling 的值為 1.
通過 sql 性能分析器,我們來對(duì)比一下 下列語句前后 2 次執(zhí)行過程的差異,對(duì)我們了解 sql 的詳細(xì)執(zhí)行過程是非常有幫助的。
復(fù)制代碼 代碼如下:

mysql> create table t_engines select * from t_engines1;
    Query OK, 57344 rows affected (0.10 sec)
    Records: 57344 Duplicates: 0 Warnings: 0
    mysql> select count(*) from t_engines;
    +----------+
    | count(*) |
    +----------+
    | 57344 |
    +----------+
    1 row in set (0.00 sec)
    mysql> select count(*) from t_engines;
    +----------+
    | count(*) |
    +----------+
    | 57344 |
    +----------+
    1 row in set (0.00 sec)
    mysql> SHOW PROFILES;
    +----------+------------+-------------------------------------------------+
    | Query_ID | Duration | Query |
    +----------+------------+-------------------------------------------------+
    | 26 | 0.10213775 | create table t_engines select * from t_engines1 |
    | 27 | 0.00032775 | select count(*) from t_engines |
    | 28 | 0.00003850 | select count(*) from t_engines |
    +----------+------------+-------------------------------------------------+
    15 rows in set (0.01 sec)
    mysql> SHOW PROFILE FOR QUERY 27;
    +--------------------------------+------------+
    | Status | Duration |
    +--------------------------------+------------+
    | (initialization) | 0.00000425 |
    | checking query cache for query | 0.00004050 |
    | checking permissions | 0.00001050 |
    | Opening tables | 0.00018250 |
    | System lock | 0.00000450 |
    | Table lock | 0.00001775 |
    | init | 0.00001075 |
    | optimizing | 0.00000550 |
    | executing | 0.00002775 |
    | end | 0.00000450 |
    | query end | 0.00000325 |
    | storing result in query cache | 0.00000400 |
    | freeing items | 0.00000400 |
    | closing tables | 0.00000500 |
    | logging slow query | 0.00000300 |
    +--------------------------------+------------+
    15 rows in set (0.00 sec)
    mysql> SHOW PROFILE FOR QUERY 28;
    +-------------------------------------+------------+
    | Status | Duration |
    +-------------------------------------+------------+
    | (initialization) | 0.00000350 |
    | checking query cache for query | 0.00000750 |
    | checking privileges on cached query | 0.00000500 |
    | checking permissions | 0.00000525 |
    | sending cached result to client | 0.00001275 |
    | logging slow query | 0.00000450 |
    +-------------------------------------+------------+
    6 rows in set (0.00 sec) mysql> SELECT sum( FORMAT(DURATION, 6)) AS DURATION FROM INFORMATION_SCHEMA.PROFILING WHERE QUERY_ID =27 ORDER BY SEQ;
    +----------+
    | DURATION |
    +----------+
    | 0.000326 |
    +----------+
    1 row in set (0.00 sec) mysql> SELECT sum( FORMAT(DURATION, 6)) AS DURATION FROM INFORMATION_SCHEMA.PROFILING WHERE QUERY_ID =28 ORDER BY SEQ;
    +----------+
    | DURATION |
    +----------+
    | 0.000039 |
    +----------+
    1 row in set (0.00 sec)

從上面的例子中我們可以清晰的看出 2 次執(zhí)行 count 語句的差別, SHOW PROFILE FOR QUERY 27 展現(xiàn)的是第一次 count 統(tǒng)計(jì)的執(zhí)行過程,包含了 Opening tables 、 Table lock 等操作 。而 SHOW PROFILE FOR QUERY 28 展示了第二次 count 統(tǒng)計(jì)的執(zhí)行過程 , 第二次 count 直接從查詢緩存中返回 count 統(tǒng)計(jì)結(jié)果,通過對(duì)比 2 次統(tǒng)計(jì)的總執(zhí)行時(shí)間發(fā)現(xiàn),緩存讀的速度接近物理讀的 10 倍。通過使用 SQL 性能分析器可以幫助我們對(duì)一些比較難以確定性能問題的 SQL 進(jìn)行診斷,找出問題根源。

相關(guān)文章

  • MySQL復(fù)合查詢的實(shí)現(xiàn)示例

    MySQL復(fù)合查詢的實(shí)現(xiàn)示例

    復(fù)合查詢語句是MySQL中一種非常重要的查詢方式,可以用于優(yōu)化查詢性能和控制查詢的結(jié)果集,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • 深入研究mysql中的varchar和limit(容易被忽略的知識(shí))

    深入研究mysql中的varchar和limit(容易被忽略的知識(shí))

    這篇文章主要介紹了深入研究mysql中的varchar和limit(容易被忽略的知識(shí)),本文探究了varchar(5)可以存儲(chǔ)多少個(gè)漢字、多少個(gè)字母數(shù)字和mysql中的limit你真的會(huì)用嗎兩個(gè)知識(shí)點(diǎn),需要的朋友可以參考下
    2015-03-03
  • 深入淺析MySQL 中 Identifier Case Sensitivity問題

    深入淺析MySQL 中 Identifier Case Sensitivity問題

    這篇文章主要介紹了MySQL 中 Identifier Case Sensitivity,需要的朋友可以參考下
    2018-09-09
  • MySQL高級(jí)開發(fā)中視圖的詳細(xì)教程

    MySQL高級(jí)開發(fā)中視圖的詳細(xì)教程

    對(duì)MySQL數(shù)據(jù)庫的查詢,除了基本的查詢外,有時(shí)候需要對(duì)查詢的結(jié)果集進(jìn)行處理,下面這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫基本SQL語句教程之高級(jí)操作中視圖的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • MySql如何獲取相鄰數(shù)據(jù)

    MySql如何獲取相鄰數(shù)據(jù)

    這篇文章主要介紹了MySql如何獲取相鄰數(shù)據(jù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • win10下mysql5.7.21解壓版安裝教程

    win10下mysql5.7.21解壓版安裝教程

    這篇文章主要為大家詳細(xì)介紹了win10下mysql5.7.21解壓版安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • MySQL 5.7常見數(shù)據(jù)類型

    MySQL 5.7常見數(shù)據(jù)類型

    這篇文章主要介紹了MySQL 5.7數(shù)據(jù)類型詳解,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-07-07
  • mysql遷移至8.0時(shí)的注意事項(xiàng)(小結(jié))

    mysql遷移至8.0時(shí)的注意事項(xiàng)(小結(jié))

    這篇文章主要介紹了mysql遷移至8.0時(shí)的注意事項(xiàng),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-05-05
  • mysql 聯(lián)合索引生效的條件及索引失效的條件

    mysql 聯(lián)合索引生效的條件及索引失效的條件

    兩個(gè)或更多個(gè)列上的索引被稱作復(fù)合索引,本文主要介紹了mysql 聯(lián)合索引生效的條件及索引失效的條件,感興趣的可以了解一下
    2021-11-11
  • MySQL筆記之基本查詢的應(yīng)用詳解

    MySQL筆記之基本查詢的應(yīng)用詳解

    本篇文章介紹了,在mysql中基本查詢的應(yīng)用詳解。需要的朋友參考下
    2013-05-05

最新評(píng)論

沭阳县| 安泽县| 浦东新区| 河北区| 隆昌县| 班戈县| 砚山县| 曲麻莱县| 西贡区| 安顺市| 宝山区| 沁源县| 黄大仙区| 玉溪市| 花垣县| 新绛县| 石首市| 筠连县| 隆德县| 廊坊市| 乐陵市| 湘潭市| 安多县| 黄平县| 达尔| 襄垣县| 沂源县| 礼泉县| 当阳市| 尤溪县| 镇平县| 海兴县| 浮梁县| 洪湖市| 泊头市| 福贡县| 华坪县| 甘泉县| 弥勒县| 疏勒县| 苏尼特左旗|