MySQL語句如何優(yōu)化

MySQL語句如何優(yōu)化,相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

成都創(chuàng)新互聯(lián)公司專注于企業(yè)營銷型網(wǎng)站、網(wǎng)站重做改版、大足網(wǎng)站定制設(shè)計(jì)、自適應(yīng)品牌網(wǎng)站建設(shè)、成都h5網(wǎng)站建設(shè)、購物商城網(wǎng)站建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、成都外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計(jì)等建站業(yè)務(wù),價格優(yōu)惠性價比高,為大足等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。

開啟慢查詢?nèi)罩?,配置樣?

[mysqld] log-slow-queries

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

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

首先查詢一下 long_query_time 的值。

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

為了方便測試,將修改慢查詢時間為5秒。

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

依次執(zhí)行下面兩個查詢語句。

第一個查詢因?yàn)椴樵儠r間低于5 秒而不會出現(xiàn)在慢查詢?nèi)罩局校?/p>

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

第二個查詢因?yàn)椴樵儠r間大于5 秒而應(yīng)該出現(xiàn)在慢查詢?nèi)罩局校?/p>

mysql> select count(*) from t_user; +----------+ | count(*) | +----------+ | 6552961 |

查看慢查詢?nèi)罩尽?/strong>

[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)查詢時間超過5 秒的SQL,而小于5秒的則沒有出現(xiàn)在此日志中。

如果慢查詢?nèi)罩局杏涗泝?nèi)容很多,可以使用mysqldumpslow工具(MySQL客戶端安裝自帶)來對慢查詢?nèi)罩具M(jìn)行分類匯總。下例中對日志文件mysql_master-slow.log進(jìn)行了分類匯總,只顯示匯總后摘要結(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;

對于 SQL 文本完全一致,只是變量不同的語句,mysqldumpslow 將會自動視為同一個語句進(jìn)行統(tǒng)計(jì),變量值用N來代替。這個統(tǒng)計(jì)結(jié)果將大大增加用戶閱讀慢查詢?nèi)罩镜男?,并迅速定位系統(tǒng)的SQL 瓶頸。

看完上述內(nèi)容,你們掌握MySQL語句如何優(yōu)化的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!

網(wǎng)站欄目:MySQL語句如何優(yōu)化
標(biāo)題URL:http://bm7419.com/article38/pccopp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護(hù)、小程序開發(fā)、App開發(fā)微信小程序、企業(yè)網(wǎng)站制作、微信公眾號

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)