sql 如何根据月份查询数据总数_什么是慢查询?如何通过慢查询日志优化?
日志就跟人們寫的日記一樣,記錄著過往的事情。但是人的日記是主觀的(記自己想記的內容),而數據庫的日志是客觀的,根據記錄內容分為以下好幾種日志:
a、錯誤日志:記錄啟動、運行或停止mysqld時出現的問題。
b、通用日志:記錄建立的客戶端連接和執行的語句。
c、更新日志:記錄更改數據的語句。該日志在MySQL 5.1中已不再使用。
d、二進制日志:記錄所有更改數據的語句。還用于復制。
e、慢查詢日志:記錄所有執行時間超過long_query_time秒的所有查詢或不使用索引的查詢。
f、Innodb日志:innodb redo log
缺省情況下,所有日志創建于mysqld數據目錄中。
可以通過刷新日志,來強制mysqld來關閉和重新打開日志文件(或者在某些情況下切換到一個新的日志)。
當你執行一個FLUSH LOGS語句或執行mysqladmin flush-logs或mysqladmin refresh時,則日志被老化。
對于存在MySQL復制的情形下,從復制服務器將維護更多日志文件,被稱為接替日志。
這次我們介紹的就是慢查詢日志。何謂慢查詢日志?MySQL會記錄下查詢超過指定時間的語句,我們將超過指定時間的SQL語句查詢稱為慢查詢,都記在慢查詢日志里,我們開啟后可以查看究竟是哪些語句在慢查詢
開啟慢查詢日志
mysql>show variables like “%slow%”; 查看慢查詢配置,沒有則在my.cnf中添加,如下
分析日志 – mysqldumpslow
分析日志,可用mysql提供的mysqldumpslow,使用很簡單,參數可–help查看
推薦用分析日志工具 – mysqlsla
【說明】
queries total: 總查詢次數 unique:去重后的sql數量
sorted by : 輸出報表的內容排序
最重大的慢sql統計信息, 包括 平均執行時間, 等待鎖時間, 結果行的總數, 掃描的行總數.
Count, sql的執行次數及占總的slow log數量的百分比.
Time, 執行時間, 包括總時間, 平均時間, 最小, 最大時間, 時間占到總慢sql時間的百分比.
95% of Time, 去除最快和最慢的sql, 覆蓋率占95%的sql的執行時間.
Lock Time, 等待鎖的時間.
95% of Lock , 95%的慢sql等待鎖時間.
Rows sent, 結果行統計數量, 包括平均, 最小, 最大數量.
Rows examined, 掃描的行數量.
Database, 屬于哪個數據庫
Users, 哪個用戶,IP, 占到所有用戶執行的sql百分比
Query abstract, 抽象后的sql語句
Query sample, sql語句
喜歡的小伙伴,點個關注吧,每天分享新的內容!
總結
以上是生活随笔為你收集整理的sql 如何根据月份查询数据总数_什么是慢查询?如何通过慢查询日志优化?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 六元均匀直线阵的各元间距为_给棉花地选购
- 下一篇: 查询分析器在哪里_你应该知道的3种Nod