mysql用戶訪問慢,mysql慢查詢原因_mysql 慢查詢的原因分析點滴

 2023-11-19 阅读 27 评论 0

摘要:我們知道Mysql可以log下來運行的比較慢的sql語句。不過,默認是沒有這個log的,為了開啟這個功能,要修改my.cnf或者在MySQL啟動的時候加入一些參數。如果在my.cnf里面修改,需增加如下幾行:mysql用戶訪問慢,long_query_time = 1?? //指執

我們知道Mysql可以log下來運行的比較慢的sql語句。

不過,默認是沒有這個log的,為了開啟這個功能,要修改my.cnf或者在MySQL啟動的時候加入一些參數。

如果在my.cnf里面修改,需增加如下幾行:

mysql用戶訪問慢,long_query_time = 1?? //指執行超過多久的sql會被log下來,這里是1秒。log-slow-queries = log-queries-not-using-indexes?//設置把日志寫在那里,可以為空,系統會給一個缺省的文件log-queries-not-using-indexes 就是紀錄沒使用索引的sql。

分析:

mysqldumpslow –help 以下,主要用的是

-s??? ORDER what to sort by (t, at, l, al, r, ar etc), ‘at’ is default

mysql慢。-t??? NUM just show the top n queries

-g??? PATTERN grep: only consider stmts that include this string

-s,? 是order的順序,說明寫的不夠詳細,俺用下來,包括看了代碼,主要有c,t,l,r和ac,at,al,ar,分別是按照query次數,時間,lock的時間和返回的記錄數來排序,前面加了a的時倒敘

-t,? 是top n的意思,即為返回前面多少條的數據

mysql比mssql慢、-g, 后邊可以寫一個正則匹配模式,大小寫不敏感的

mysqldumpslow -s c -t 20 host-slow.log

mysqldumpslow -s r -t 20 host-slow.log

上述命令可以看出訪問次數最多的20個sql語句和返回記錄集最多的20個sql。

數據庫查詢慢,mysqldumpslow -t 10 -s t -g “left join” host-slow.log

這個是按照時間返回前10條里面含有左連接的sql語句。

Time: 060908 22:17:43

# Query_time: 12 Lock_time: 0 Rows_sent: 86345 Rows_examined: 580963

點滴滴得慢咋回事?Q:這個是慢查的日志,都是些什么意思?

A:查詢用了12妙,返回86345行,一共查了580963行

查詢速度慢的原因很多,常見原因有如下幾種可能:

1、沒有索引或者沒有用到索引(這是查詢慢最常見的問題,是程序設計的缺陷)

mysql 查詢很慢原因。2、I/O吞吐量小,形成了瓶頸效應。

3、沒有創建計算列導致查詢不優化。

4、內存不足

5、網絡速度慢

mysql數據庫還原慢,6、查詢出的數據量過大(可以采用多次查詢,其他的方法降低數據量)

7、鎖或者死鎖(這也是查詢慢最常見的問題,是程序設計的缺陷)

8、sp_lock,sp_who,活動的用戶查看,原因是讀寫競爭資源。

9、返回了不必要的行和列

mysql更新數據庫慢?10、查詢語句不好,沒有優化

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/4/182306.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息