mysql数据库慢查询是什么意思

发布时间:2021-12-30 14:30:31 作者:小新
来源:亿速云 阅读:385

小编给大家分享一下mysql数据库慢查询是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

何为慢SQL

在特定业务环境和技术条件下,我们设定一个阈值,称之为:long_query_time,对于每条dml语句的执行进行耗时统计t,如果t>=long_query_time,则称这条dml语句为慢语句(慢sql)。

在MySQL中,提供了对慢查询的语句的检测与记录能力。

MySQL的慢查询日志是MySQL提供的一种日志记录,用来记录在MySQL中响应时间超过阈值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中(日志可以写入文件或者数据库表,如果对性能要求高的话,建议写文件)。默认情况下,MySQL数据库是不开启慢查询日志的,long_query_time的默认值为10(即10秒,通常设置为1秒),即运行10秒以上的语句是慢查询语句。

# ON为开启慢查询日志,OFF则为关闭慢查询日志

slow_query_log 

# 指定了慢查询的阈值,即如果执行语句的时间超过该阈值则为慢查询语句,默认值为10秒

long_query_time

# 记录的慢查询日志到文件中(注意:默认名为主机名.log,慢查询日志是否写入指定文件中,需要指定慢查询的输出日志格式为文件,相关命令为:show variables like ‘%log_output%’;去查看输出的格式)

slow_query_log_file

# 这个参数设置为ON,可以捕获到所有未使用索引的SQL语句(注意:如果只是将log_queries_not_using_indexes设置为ON,而将slow_query_log设置为OFF,此时该设置也不会生效,即该设置生效的前提是slow_query_log的值设置为ON)

log_queries_not_using_indexes

慢查询后果

影响层面

可能影响内容

技术

数据库连接池被占满、导致大事务、主从延迟增大

业务

时效变慢、成功率降低、其他关联业务雪崩

用户

体验下降、忠诚度不高的用户流失

系统

数据库被hung死,甚至雪崩,拖垮服务

避免慢查询

sql方向:优化sql语句的编写,严格避免慢查询(不是尽量避免)

监控方向:对慢查询进行监控,及时发现,提早预防

以上是“mysql数据库慢查询是什么意思”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. mysql慢查询指的是什么
  2. mysql慢查询日志是什么

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mysql 数据库

上一篇:怎么用webgl方式加载point

下一篇:php中rand指的是什么意思

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》