mysql5.6慢查询怎么配置?
打开慢查询日志慢查询日志,顾名思义就是记录执行比较慢查询的日志。查看是否开启慢查询日志:show variables like '%slow%';打开慢查询日志。修改MySQL的配置文件my.cn一般是在/etc目录下面,加上下面三行配置后重启MySQL。
slow_query_log = ONslow_launch_time = 2slow_query_log_file = /usr/local/mysql/data/slow_query.logslow_launch_time只能精确到秒,如果需要更精确可以使用一些第三方的工具
一般mysql超过多长时间,会被认为是慢查询?
一般情况下,当MySQL查询的执行时间超过阈值时,会被认为是慢查询。这个阈值可以根据具体的应用需求进行配置,通常设置为几秒钟。超过这个时间的查询可能会对系统性能产生负面影响,因此被认为是慢查询。慢查询可以通过MySQL的慢查询日志进行记录和分析,以便优化查询性能并提高系统的响应速度。
mySql为什么查询时有时快,有时慢?
主键约束。
图片来源:网络
当数据量达到百万以上的时候,你用主键去搜索某一条数据时速度是极快的。但当你不用主键去搜索的时候速度就降了几十倍甚至上百倍,这个是主键的好处。索引。当你的表字段设置有索引的时候,搜索速度比不创建索引要快几倍至几十倍。sql语句不够优化。在查询某数据的时候,能不用*就尽量不用,想要哪个字段就查哪个,多余的不要,这样就能达到数据传输精简化,让查询速度也能快上许多。多表联合查询。在大数据量的时候这个多表查询尽量不用,毕竟是很耗内存的,宁愿用其他语言循环执行简单的 select 字段 from 表名 where 条件 这样的简单sql语句,这样也能加快速度。2020-07-09:mysql如何开启慢查询?
my.cnf和mysqld都可以记录慢查询,通过配置log-slow-queries=file-path就可以,重启之后生效。
mysql官方提供了慢查询日志分析工具mysqldumpslow。主要功能包括统计不同慢sql的类型、出现次数、执行最长时间、累计总耗费时间、等待锁的时间、发送给客户端的行总数、行总数、用户以及sql语句本身。这样就可以很快地定位问题点,也可以为下一步sql有提供充足的参考。
还有一些第三方的工具,但是我没用过,貌似有些GUI的更好用,你可以搜索下。之所以我不用,是担心生产环境中更多的软件部署会导致安全漏洞更多。
希望送的回复对你有帮助。
这专业的回答咋配图?为啥只有配图的才能优质回答?
pt-query-digest
子曰:“工欲善其事,必先利其器”
善于利用好的性能分析工具可以使运维效率事半功倍。pt-query-digest 属于 Percona Toolkit 工具集中较为常用的工具,用于分析 slow log,可以分析 MySQL 数据库的 binary log 、 general log 日志,同时也可以使用 show processlist 或从 tcpdump 抓取的 MySQL 协议数据来进行分析。