1. 程式人生 > 其它 >mysql 基礎(效能分析)

mysql 基礎(效能分析)

sql效能分析:
1.sql執行頻率
show [session|global] status like 'Com_______';(7個_)

2.慢查詢日誌
慢查詢日誌記錄了所有執行時間超過指定引數(long_query_time,單位:秒,預設1O秒)的所有SQL語句的日誌。
MySQL的慢查詢日誌預設沒有開啟,需要在MySQL的配置檔案(/etc/my.cnf)中配置如下資訊:

開啟MySQL慢日誌查詢開關

slow_query_log=1

設定慢日誌的時間為2秒,SQL語句執行時間超過2秒,就會視為慢查詢,記錄慢查詢日誌

long_query_time=2
配置完畢之後,通過以下指令重新啟動MySQL伺服器進行測試,檢視慢日誌檔案中記錄的資訊/var/lib/mysqL/localhost-slow.log。
同時可配置檔案儲存位置:slow-query-log-file=/usr/local/mysql/data/localhost-slow.log

3.profile詳情
show profiles能夠在做SQL優化時幫助我們瞭解時間都耗費到哪裡去了。通過have_profiling:引數,能夠看到當前MySQL是否支援
profile操作:
SELECT @@have_profiling;
預設orofiling:是關閉的,可以通過set語句在session/global級別開啟profiling:
SET profiling 1;

執行一系列的業務SQL的操作,然後通過如下指令檢視指令的執行耗時:
檢視每一條SQL的耗時本情況
show profiles;

檢視指定query id的SQL語句各個階段的耗時情況
show profile for query query id;

檢視指定query id的SQL語句CPU的使用情況
show profile cpu for query query_id;