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


小编给大家分享一下mysql数据库慢查询是什么意思,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在特定业务环境和技术条件下,我们设定一个阈值,称之为: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语句的编写,严格避免慢查询(不是尽量避免)考虑在选择性较好的where条件字段添加索引;避免不必要的排序,如果必要,可以考虑通过在排序字段添加索引减小排序成本。如果有复合索引,那么必须使用到该索引中的第一个字段作为条件时才能保证系统使用该索引,否则该索引将不会被使用。不要对 where 条件字段进行函数、算术运算或其他表达式运算,否则可能导致无法正确使用索引。 like条件首位模糊匹配会无法使用索引,例如select id from t where name like ‘%abc%’。从逻辑 香港云主机上降低数据扫描量,考虑sql返回的数据是否都是必要的。比如判断是否存在符合条件的记录,使用limit 1代替count。监控方向:对慢查询进行监控,及时发现,提早预防慢查询条数告警慢查询时间、慢sql记录定期对慢sql记录进行查询分析、总结以上是“mysql数据库慢查询是什么意思”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注开发云行业资讯频道!

相关推荐: 如何理解CGA中的分析结果

今天就跟大家聊聊有关如何理解CGA中的分析结果,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。TCGA对于不同类型的数据,有着独特的处理流程,具体如下TCGA中的DNA测序主要用来分析肿瘤患者中的体细胞突…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 10/14 09:59
Next 10/14 10:00

相关推荐