好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > 實例講解MySQL 慢查詢

實例講解MySQL 慢查詢

熱門標簽:常州電銷外呼系統一般多少錢 天智外呼系統 沃克斯電梯外呼線路圖 地圖標注被騙三百怎么辦 云南語音外呼系統平臺 北京人工外呼系統價錢 福州呼叫中心外呼系統哪家好 400電話鄭州申請 房產智能外呼系統品牌

簡介

       開啟慢查詢日志,可以讓MySQL記錄下查詢超過指定時間的語句,通過定位分析性能的瓶頸,才能更好的優化數據庫系統的性能。

一、配置慢查詢

1、參數說明

  • slow_query_log : 慢查詢開啟狀態(默認關閉)
  • slow_query_log_file : 慢查詢日志存放的位置(這個目錄需要MySQL的運行帳號的可寫權限, 一般設置為MySQL的數據存放目錄)
  •  long_query_time : 查詢超過多少秒才記錄(默認10秒)

2.查看慢查詢相關參數

show variables like 'slow_query%';
+---------------------------+----------------------------------+
| Variable_name       | Value              |
+---------------------------+----------------------------------+
| slow_query_log      | OFF               |
| slow_query_log_file    | /mysql/data/localhost-slow.log  |
+---------------------------+----------------------------------+

show variables like 'long_query_time';
+-----------------+-----------+
| Variable_name  | Value   |
+-----------------+-----------+
| long_query_time | 10.000000 |
+-----------------+-----------+

3.配置慢查詢 

    它有兩種配置方式,一種是全局變量配置,一種是配置文件配置

(1)全局變量配置 

--將 slow_query_log 全局變量設置為“ON”狀態
  set global slow_query_log='ON'; 

--設置慢查詢日志存放的位置
 set global slow_query_log_file='/usr/local/mysql/data/slow.log';

--查詢超過1秒就記錄
  set global long_query_time=1;

(2)修改配置文件my.cnf(linux環境下)

  slow_query_log = ON
  slow_query_log_file = /usr/local/mysql/data/slow.log
  long_query_time = 1

總結:
(1)通過全局變量配置好后,需要關閉會話后重新打開查詢才有效,通過配置文件需要重啟Mysql服務器后才有效
(2) 因為開啟慢查詢會影響性能,一般建議通過全局變量配置,這樣重啟服務器又是默認關閉慢查詢狀態。

二、mysqldumpslow工具

   mysqldumpslow是Mysql自帶的一個工具,有了它我們可以不用去上面的log文件去找,如果數據平凡操作,那么去log查下日志也是比較繁瑣的一件事。

1、主要命令

--s:是表示按照何種方式排序 
  --c:訪問次數 
  --l:鎖定時間 
  --r:返回記錄 
  --t:查詢時間 
  --al:平均鎖定時間 
  --ar:平均返回記錄數 
  --at:平均查詢時間 
  --t:即為返回前面多少條的數據 
  --g:后面搭配一個正則匹配模式,大小寫不敏感

2、舉例

--1.得到返回記錄集最多的10個SQL
  mysqldumpslow -s -r -t 10 /logs/mysql-slow.log

 --2.得到訪問次數最多的10個SQL
  mysqldumpslow -s -c -t 10 /logs/mysql-slow.log

 --3.得到按照時間排序的前10條里面含有做鏈接的查詢語句
  mysqldumpslow -s t -t 10 -g "left join" /logs/mysql-slow.log
 
 --4.另外建議在使用這些命令時結合|和more使用,否則又可能出現爆屏情況
  mysqldumpslow -s r -t 10 /logs/mysql-slow.log | more

三、show profile

  Show profiles是5.0.37之后添加的,要想使用此功能,要確保版本在5.0.37之后。

1、開啟 show profile

show variables like "profiling";--默認是關閉的
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| profiling   | OFF  |
+---------------+-------+

--開啟
set profiling=1;

2、運行指定SQL 

我這里運行幾條SQL語句,然后運行

show profiles;--會列出所有在這個開啟期間執行的SQL,并附上QUERY ID
+----------+------------+----------------------------+
| Query_ID | Duration  | Query           |
+----------+------------+----------------------------+
|    1 | 0.00168025 | select * from vhr.employee |
|    2 | 0.06573200 | select * from vhr.hr    |
+----------+------------+----------------------------+
--我們可以看到顯示最近操作的兩條語句,列表大小由profiling_history_size會話變量控制, 默認值為15.最大值為100

3、診斷具體SQL

show profile cpu,block io for queryid --對應2中的query_id

SHOW PROFILE CPU FOR QUERY 1;--查詢query_id為1的具體信息
+----------------------+----------+----------+------------+
| Status        | Duration | CPU_user | CPU_system |
+----------------------+----------+----------+------------+
| starting       | 0.000194 | 0.000000 |  0.000000 |
| checking permissions | 0.000012 | 0.000000 |  0.000000 |
| Opening tables    | 0.000030 | 0.000000 |  0.000000 |
| init         | 0.000053 | 0.000000 |  0.000000 |
| System lock     | 0.000011 | 0.000000 |  0.000000 |
| optimizing      | 0.000003 | 0.000000 |  0.000000 |
| statistics      | 0.000014 | 0.000000 |  0.000000 |
| preparing      | 0.000010 | 0.000000 |  0.000000 |
| executing      | 0.000001 | 0.000000 |  0.000000 |
| Sending data     | 0.001213 | 0.000000 |  0.000000 |
| end         | 0.000014 | 0.000000 |  0.000000 |
| query end      | 0.000012 | 0.000000 |  0.000000 |
| closing tables    | 0.000019 | 0.000000 |  0.000000 |
| freeing items    | 0.000070 | 0.000000 |  0.000000 |
| cleaning up     | 0.000025 | 0.000000 |  0.000000 |
+----------------------+----------+----------+------------+

日常開發需要注意的結論:

    1   converting HEAP to MyISAM : 查詢結果太大,內存都不夠用了,往磁盤上搬了;
    2   creating tmp table :    創建臨時表,拷貝數據到臨時表,然后再刪除;
    3   copying to tmp table on disk :把內存中臨時表復制到磁盤,危險!!!
    4   locked

   注:以上四個中若出現一個或多個,表示sql 語句 必須優化。

以上就是實例講解MySQL 慢查詢的詳細內容,更多關于MySQL 慢查詢的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • MySQL慢查詢的坑
  • MYSQL慢查詢和日志實例講解
  • MySQL慢查詢日志的作用和開啟
  • MYSQL慢查詢與日志的設置與測試
  • MySQL 慢查詢日志的開啟與配置
  • Mysql sql慢查詢監控腳本代碼實例
  • MySQL慢查詢如何定位詳解
  • MySQL開啟慢查詢方法及實例
  • MySQL5.7慢查詢日志時間與系統時間差8小時原因詳解
  • Mysql慢查詢優化方法及優化原則
  • 通過MySQL慢查詢優化MySQL性能的方法講解
  • MySQL Threads_running飆升與慢查詢的相關問題解決

標簽:鹽城 移動 黔東 拉薩 珠海 徐州 沈陽 沈陽

巨人網絡通訊聲明:本文標題《實例講解MySQL 慢查詢》,本文關鍵詞  實例,講解,MySQL,慢,查詢,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《實例講解MySQL 慢查詢》相關的同類信息!
  • 本頁收集關于實例講解MySQL 慢查詢的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: a视频免费看| 国产秘?精品入口??欧亚色大 | 女警花的风流艳史| 嗯~用力啊~嗯~c我| 午夜精品亚洲一区二区三区嫩草| tube8欧美巨大tvhd| 欧美aaa电影| 日韩在线视频一区| 夜夜爽影院| 日韩欧美一中文字暮专区| 欧美搡BBBBBB搡BBBBBB√一| 男男大尺度高h视频网站| 开操网| 双性国师沦为大臣玩物| 欧美日日摸夜夜爽| 别c我?啊?嗯上课漫画| 在线观看黄的网站| 撕开她的内裤慢慢摸的网站| 巜女教师~婬辱の教室电影| 波多野结衣激情视频| 毛片的网站| 骚23p| 樱花??视频无??码一区| 40厘米黑人AV娇小亚女| 国产在线麻豆自在拍91精品| 欧洲性开放大片| 俄罗斯freeoo性另类| 三个男人躁我一个认真的后果及影响| 节操何在h| 91热久久免费频精品99欧美| 女人本色高清视频在线播放| 黄瓜视频成人A片入口| 爽?好大?快?深点自慰大学| 中国女人特级毛片| 在线高清影视网站入口| 成年大片免费高清在线观看 | 美女黄色软件下载| 调教小说高h| 天堂网在线播放| 国产又爽又大又黄A片小说苏妖精| 羞羞漫画??免费网站入口|