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

Mysql效率優(yōu)化定位較低sql的兩種方式

 更新時(shí)間:2015年10月29日 14:18:30   投稿:mrr  
通過(guò)慢查詢(xún)?nèi)罩径ㄎ荒切﹫?zhí)行效率較低的 SQL 語(yǔ)句,用 --log-slow-queries[=file_name] 選項(xiàng)啟動(dòng)時(shí), mysqld 會(huì) 寫(xiě)一個(gè)包含所有執(zhí)行時(shí)間超過(guò) long_query_time 秒的 SQL 語(yǔ)句的日志文件,通過(guò)查看這個(gè)日志文件定位效率較低的 SQL

關(guān)于mysql效率優(yōu)化一般通過(guò)以下兩種方式定位執(zhí)行效率較低的sql語(yǔ)句。

通過(guò)慢查詢(xún)?nèi)罩径ㄎ荒切﹫?zhí)行效率較低的 SQL 語(yǔ)句,用 --log-slow-queries[=file_name] 選項(xiàng)啟動(dòng)時(shí), mysqld 會(huì) 寫(xiě)一個(gè)包含所有執(zhí)行時(shí)間超過(guò) long_query_time 秒的 SQL 語(yǔ)句的日志文件,通過(guò)查看這個(gè)日志文件定位效率較低的 SQL 。

慢查詢(xún)?nèi)罩驹诓樵?xún)結(jié)束以后才紀(jì)錄,所以在應(yīng)用反映執(zhí)行效率出現(xiàn)問(wèn)題的時(shí)候查詢(xún)慢查詢(xún)?nèi)罩静⒉荒芏ㄎ粏?wèn)題,可以使用 show processlist 命令查看當(dāng)前 MySQL 在進(jìn)行的線程,包括線程的狀態(tài)、是否鎖表等,可以實(shí)時(shí)地查看 SQL 的 執(zhí)行情況,同時(shí)對(duì)一些鎖表操作進(jìn)行優(yōu)化。

下面我們舉例說(shuō)明一下,如何通過(guò)慢查詢(xún)?nèi)罩径ㄎ粓?zhí)行效率底的 SQL 語(yǔ)句:

開(kāi)啟慢查詢(xún)?nèi)罩?, 配置樣例:

log-slow-queries

在 my.cnf 配置文件中增加上述配置項(xiàng)并重啟 mysql 服務(wù),這時(shí) mysql 慢查詢(xún)功能生效。慢查詢(xún) 日志將寫(xiě)入?yún)?shù) DATADIR (數(shù)據(jù)目錄)指定的路徑下,默認(rèn)文件名是 host_name-slow.log 。

和錯(cuò)誤日志、查詢(xún)?nèi)罩疽粯樱樵?xún)?nèi)罩居涗浀母袷揭彩羌兾谋?,可以被直接讀取。下例中演示了慢查詢(xún)?nèi)罩镜脑O(shè)置和讀取過(guò)程。

( 1 )首先查詢(xún)一下 long_query_time 的值 。

mysql> show variables like 'long%';
+-----------------+-------+
| Variable_name | Value |
+-----------------+-------+
| long_query_time | 10 |
+-----------------+-------+
1 row in set (0.00 sec)

( 2 )為了方便測(cè)試,將修改慢查詢(xún)時(shí)間為 5 秒。

mysql> set long_query_time=5;
Query OK, 0 rows affected (0.02 sec)

( 3 )依次執(zhí)行下面兩個(gè)查詢(xún)語(yǔ)句。

第一個(gè)查詢(xún)因?yàn)椴樵?xún)時(shí)間低于 5 秒而不會(huì)出現(xiàn)在慢查詢(xún)?nèi)罩局校?br />

mysql> select count(*) from order2008;
+----------+
| count(*) |
+----------+
| 208 |
+----------+
1 row in set (0.00 sec)

第二個(gè)查詢(xún)因?yàn)椴樵?xún)時(shí)間大于 5 秒而應(yīng)該出現(xiàn)在慢查詢(xún)?nèi)罩局校?br />

mysql> select count(*) from t_user;
+----------+
| count(*) |
+----------+
| 6552961 |
+----------+
1 row in set (11.07 sec)

( 4 )查看慢查詢(xún)?nèi)罩尽?br />

[root@localhost mysql]# more localhost-slow.log
# Time: 081026 19:46:34
# User@Host: root[root] @ localhost []
# Query_time: 11 Lock_time: 0 Rows_sent: 1 Rows_examined: 6552961
select count(*) from t_user;

從上面日志中,可以發(fā)現(xiàn)查詢(xún)時(shí)間超過(guò) 5 秒的 SQL ,而小于 5 秒的則沒(méi)有出現(xiàn)在此日志中。
如果慢查詢(xún)?nèi)罩局杏涗泝?nèi)容很多,可以使用 mysqldumpslow 工具( MySQL 客戶(hù)端安裝自帶)來(lái)對(duì)慢查詢(xún)?nèi)罩具M(jìn)行分類(lèi)匯總。下例中對(duì)日志文件 mysql_master-slow.log 進(jìn)行了分類(lèi)匯總,只顯示匯總后摘要結(jié)果:

[root@mysql_master mysql_data]# mysqldumpslow mysql_master-slow.log
Reading mysql slow query log from mysql_master-slow.log
Count: 2 Time=11.00s (22s) Lock=0.00s (0s) Rows=1.0 (2), root[root]@mysql_master
select count(N) from t_user;

對(duì)于 SQL 文本完全一致,只是變量不同的語(yǔ)句, mysqldumpslow 將會(huì)自動(dòng)視為同一個(gè)語(yǔ)句進(jìn)行統(tǒng)計(jì),變量值用 N 來(lái)代替。這個(gè)統(tǒng)計(jì)結(jié)果將大大增加用戶(hù)閱讀慢查詢(xún)?nèi)罩镜男剩⒀杆俣ㄎ幌到y(tǒng)的 SQL 瓶頸。

注意:慢查詢(xún)?nèi)罩緦?duì)于我們發(fā)現(xiàn)應(yīng)用中有性能問(wèn)題的 SQL 很有幫助,建議正常情況下,打開(kāi)此日志并經(jīng)常查看分析。

以上是給大家介紹的Mysql效率優(yōu)化定位較低sql的兩種方式 ,希望以上所述對(duì)大家有所幫助。

相關(guān)文章

  • RR與RC隔離級(jí)別下索引和鎖的測(cè)試腳本示例代碼

    RR與RC隔離級(jí)別下索引和鎖的測(cè)試腳本示例代碼

    這篇文章主要給大家介紹了關(guān)于RR與RC隔離級(jí)別下索引和鎖的測(cè)試腳本的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • CentOS 6.5下yum安裝 MySQL-5.5全過(guò)程圖文教程

    CentOS 6.5下yum安裝 MySQL-5.5全過(guò)程圖文教程

    在linux安裝mysql是一個(gè)困難的事情,yum安裝一般是安裝的mysql5.1,現(xiàn)在經(jīng)過(guò)自己不懈努力終于能用yum安裝mysql5.5了。下面通過(guò)兩種方法給大家介紹CentOS 6.5下yum安裝 MySQL-5.5全過(guò)程,一起學(xué)習(xí)吧
    2016-05-05
  • MySQL存儲(chǔ)過(guò)程的傳參和流程控制示例講解

    MySQL存儲(chǔ)過(guò)程的傳參和流程控制示例講解

    這篇文章主要介紹了MySQL存儲(chǔ)過(guò)程的傳參和流程控制示例講解,?repeat和Loop區(qū)別是repeat有自己退出循環(huán)的語(yǔ)句until,Loop使用的是if判斷語(yǔ)句,本文結(jié)合示例代碼詳細(xì)講解,需要的朋友可以參考下
    2023-02-02
  • MySQL常用日期時(shí)間函數(shù)示例詳解

    MySQL常用日期時(shí)間函數(shù)示例詳解

    MySQL提供了大量的日期和時(shí)間函數(shù),這些函數(shù)用于在查詢(xún)中處理和操作日期與時(shí)間值,這篇文章主要介紹了MySQL常用日期時(shí)間函數(shù),需要的朋友可以參考下
    2024-06-06
  • Mysql中批量替換某個(gè)字段的部分?jǐn)?shù)據(jù)(推薦)

    Mysql中批量替換某個(gè)字段的部分?jǐn)?shù)據(jù)(推薦)

    這篇文章主要介紹了Mysql中批量替換某個(gè)字段的部分?jǐn)?shù)據(jù),通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • MySQL學(xué)習(xí)(七):Innodb存儲(chǔ)引擎索引的實(shí)現(xiàn)原理詳解

    MySQL學(xué)習(xí)(七):Innodb存儲(chǔ)引擎索引的實(shí)現(xiàn)原理詳解

    這篇文章主要介紹了Innodb存儲(chǔ)引擎索引的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Mysql數(shù)據(jù)庫(kù)5.7升級(jí)到8.4的實(shí)現(xiàn)

    Mysql數(shù)據(jù)庫(kù)5.7升級(jí)到8.4的實(shí)現(xiàn)

    很多情況需要升級(jí)MySQL的數(shù)據(jù)庫(kù)版本,本文主要介紹了Mysql數(shù)據(jù)庫(kù)5.7升級(jí)到8.4的實(shí)現(xiàn),文中通過(guò)圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-06-06
  • Mysql inner join on的用法實(shí)例(必看)

    Mysql inner join on的用法實(shí)例(必看)

    下面小編就為大家?guī)?lái)一篇Mysql inner join on的用法實(shí)例(必看)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-03-03
  • 用批處理實(shí)現(xiàn)自動(dòng)備份和清理mysql數(shù)據(jù)庫(kù)的代碼

    用批處理實(shí)現(xiàn)自動(dòng)備份和清理mysql數(shù)據(jù)庫(kù)的代碼

    有網(wǎng)友問(wèn)我在win2003下如何自動(dòng)備份MySQL數(shù)據(jù)庫(kù),既然是自動(dòng)備份,那肯定得寫(xiě)腳本,當(dāng)然我們也可以利用軟件實(shí)現(xiàn)
    2013-08-08
  • mysql如何創(chuàng)建和刪除唯一索引(unique key)

    mysql如何創(chuàng)建和刪除唯一索引(unique key)

    這篇文章主要介紹了mysql如何創(chuàng)建和刪除唯一索引(unique key)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12

最新評(píng)論

德昌县| 乐平市| 明水县| 柘城县| 逊克县| 洛川县| 威海市| 拜泉县| 合山市| 朝阳县| 玛曲县| 肇庆市| 西充县| 高淳县| 崇阳县| 理塘县| 广汉市| 威信县| 长春市| 原平市| 平乡县| 桦甸市| 皮山县| 克东县| 深水埗区| 海口市| 秦安县| 贵南县| 天气| 陆丰市| 新昌县| 松阳县| 洛南县| 皋兰县| 文成县| 河曲县| 梁山县| 铁力市| 灵川县| 吴旗县| 平阳县|