程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> mysql慢查詢應用詳解

mysql慢查詢應用詳解

編輯:MySQL綜合教程

mysql慢查詢應用詳解。本站提示廣大學習愛好者:(mysql慢查詢應用詳解)文章只能為提供參考,不一定能成為您想要的結果。以下是mysql慢查詢應用詳解正文


1 慢查詢界說
指mysql記載一切履行跨越long_query_time參數設定的時光阈值的SQL語句。慢查詢日記就是記載這些sql的日記。

2 開啟慢查詢日記
找到mysql設置裝備擺設文件my.cnf.在mysqld的上面添加


log-slow-queries = D:/MySQL/log/mysqld-slow-query.log  #日記存在的地位。(留意權限的成績,可以不消設置,體系會給一個缺省的文件host_name-slow.log)
long-query-time = 5   #SQL履行時光阈值,默許為10秒。
#log-long-format   #說log-long-format選項是用來設置日記的格局,它是以擴大方法記載有關事宜。擴大方法可記載誰收回查詢和甚麼時刻收回查詢的信息。可以使我們更好地控制客戶真個操作情形。
#log-slow-admin-statements  #將慢治理語句例如OPTIMIZE TABLE、ANALYZE TABLE和ALTER TABLE記入慢查詢日記。
log-queries-not-using-indexes #假如運轉的SQL語句沒有應用索引,則mysql數據庫異樣會將這條SQL語句記載到慢查詢日記文件中。

設置裝備擺設終了後重啟mysql辦事。

3 測試  
為了便利 我只在my.cnf中設置裝備擺設了慢查詢日記的途徑.

mysql 版本為 5.1.73

關於 long_query_time :從mysql 5.1開端,long_query_time開端以微秒記載SQL語句運轉時光,之前僅用秒為單元記載。如許可以更准確地記載SQL的運轉時光,供DBA剖析。

進入mysql.


mysql> show VARIABLES like "%slow%"; #檢查慢查詢日記相干的信息
mysql> set global long_query_time=0.01;  #將mysql地位的值改成 0.01
mysql> show variables like "long_query_time"; #檢查能否失效
mysql> select sleep(2); #延遲2秒履行 注:這條sql履行終了今後應當曾經在慢查詢的日記文件中發生相干的信息記載
mysql> show global status like '%slow%'; #檢查慢查詢語句的次數

在日記文件中可以看到曾經記載了sql.

總結:

Windows下開啟MySQL慢查詢
MySQL在Windows體系中的設置裝備擺設文件普通是是my.ini找到[mysqld]上面加上
log-slow-queries = F:\MySQL\log\mysqlslowquery.log
long_query_time = 2

Linux下啟用MySQL慢查詢
MySQL在Windows體系中的設置裝備擺設文件普通是是my.cnf找到[mysqld]上面加上
log-slow-queries=/data/mysqldata/slowquery.log
long_query_time=2

留意
log-slow-queries = F:\MySQL\log\mysqlslowquery.log為慢查詢日記寄存的地位,普通這個目次要有MySQL的運轉帳號的可寫權限,普通都將這個目次設置為MySQL的數據寄存目次;
long_query_time=2中的2表現查詢跨越兩秒才記載;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved