程式設計師的成長之路
2016-11-23 22:42
mysql優化之優化工具profiling
前言mysql優化技術:
mysql優化不是做乙個操作就可以的優化,它包含很多的細節,需要一點一點的優化,最後這個效能提公升會很高 .
引申假設有這樣的需求:
**現在很慢 ? 專案裡面有很多的sql ,眾多的sql裡面找到效能很差的sql呢?
什麼是慢查詢: 效能低效的sql
先來看一下這個東西, show variables like "%slow%"; # 檢視慢查詢的一些東西
注:慢查詢低效的sql會被記錄在 slow_query_log_file
並且允許我們更改此檔案的位置
eg: set global slow_query_log_file = "d:/slow.log";
接下來什麼又稱作效能低效的sql呢:
就是你的sql執行的時間超過你無法忍受的時間
eg: show variables like "long_query_time"; #預設是10秒
因此,假設我們無法忍受的時間 設定為 1秒
set long_query_time = 1;
則執行時間超過1秒的sql都會被記錄到d:/slow.log檔案中,讓後進行分析與優化。
效能優化的工具
當我們已經找到了一些慢查詢之後,就需要我們借助一些工具來分析,也就是本次要用到的profiling
如果記不太清了,可以執行下面sql找一下
會看到這麼一條資料:profiling | off
首先,需要開啟這個優化工具:
set profiling = 1;
然後,開始分析sql:show profiles;
會查到三列資料:query_id 查詢編號,duration 執行時間 query 查詢的sql語句
我們發現duration的時間精度更細,這能方便我們更細的觀察優化的效果。
我們還可以查詢某一條,更細的執**況
這能讓我們更加深入的了解sql各個過程執行的時間,來檢驗我們做的sql語句優化的提公升效果。
最後,題外話
為了讓我們的分析結果更準確,還應該熟練使用 reset query cache; #清除sql快取,來得到乙個客觀資料結果。
希望對一起學習的朋友有一絲啟迪,帶來一些幫助 ^-^
Mysql優化之優化工具profiling
程式設計師的成長之路 2016 11 23 22 42 mysql優化之優化工具profiling 前言mysql優化技術 mysql優化不是做乙個操作就可以的優化,它包含很多的細節,需要一點一點的優化,最後這個效能提公升會很高 引申假設有這樣的需求 現在很慢 專案裡面有很多的sql 眾多的sql裡...
mysql 查優化工具詢 mysql 查詢優化
檢視sql計畫任務 使用explain 字段解釋 一 id欄位 一組資料,表示任務被執行的順序,序號越大的任務越先執行 二 select type欄位 1.不包含任何子查詢或union等查詢 2.primary 包含子查詢最外層查詢就顯示為 primary 3.subquery 在select或 w...
彙編優化工具
彙編優化工具 使彙編 更具可讀性,並提高彙編速度 優化15000行大約須要30秒 import rfile.h main rstr line del rstr s 符號替換 rstr sym replace rstr s rstr sym trans rstr s rstr seq replace ...