久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

MySQL語句如何優化

133次閱讀
沒有評論

共計 1488 個字符,預計需要花費 4 分鐘才能閱讀完成。

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

開啟慢查詢日志,配置樣例:

[mysqld] log-slow-queries

在 my.cnf 配置文件中增加上述配置項并重啟 mysql 服務,這時 mysql 慢查詢功能生效。慢查詢日志將寫入參數 DATADIR(數據目錄)指定的路徑下,默認文件名是 host_name-slow.log。

和錯誤日志、查詢日志一樣,慢查詢日志記錄的格式也是純文本,可以被直接讀取。下例中演示了慢查詢日志的設置和讀取過程。

首先查詢一下 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)

依次執行下面兩個查詢語句。

第一個查詢因為查詢時間低于 5 秒而不會出現在慢查詢日志中:

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

第二個查詢因為查詢時間大于 5 秒而應該出現在慢查詢日志中:

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

查看慢查詢日志。

[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;

從上面日志中,可以發現查詢時間超過 5 秒的 SQL,而小于 5 秒的則沒有出現在此日志中。

如果慢查詢日志中記錄內容很多,可以使用 mysqldumpslow 工具 (MySQL 客戶端安裝自帶) 來對慢查詢日志進行分類匯總。下例中對日志文件 mysql_master-slow.log 進行了分類匯總,只顯示匯總后摘要結果:

[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 將會自動視為同一個語句進行統計,變量值用 N 來代替。這個統計結果將大大增加用戶閱讀慢查詢日志的效率,并迅速定位系統的 SQL 瓶頸。

看完上述內容,你們掌握 MySQL 語句如何優化的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注丸趣 TV 行業資訊頻道,感謝各位的閱讀!

正文完
 
丸趣
版權聲明:本站原創文章,由 丸趣 2023-08-03發表,共計1488字。
轉載說明:除特殊說明外本站除技術相關以外文章皆由網絡搜集發布,轉載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 平定县| 万源市| 黄浦区| 阳江市| 吉首市| 莆田市| 册亨县| 襄城县| 商南县| 察雅县| 铜鼓县| 平湖市| 南华县| 祁阳县| 宁城县| 永仁县| 伊宁县| 仙居县| 重庆市| 乌恰县| 大安市| 永昌县| 安龙县| 寻乌县| 上思县| 措勤县| 莎车县| 沾益县| 安龙县| 札达县| 托克逊县| 方山县| 酒泉市| 正宁县| 上犹县| 江城| 黄梅县| 满洲里市| 淳化县| 通化县| 扶沟县|