中国标准物质信息网网站建设,百度网站加v,wordpress商城开源,wordpress 耗资源MySQL 性能分析
对 mysql 进行性能分析#xff0c;主要就是提升查询的效率#xff0c;其中索引占主导地位。对 mysql 进行性能分析主要有如下几种方式#xff1a; 方式一#xff1a;查看 sql 执行频次 show global status like ‘Com_______’; // global 表示全局 show s…MySQL 性能分析
对 mysql 进行性能分析主要就是提升查询的效率其中索引占主导地位。对 mysql 进行性能分析主要有如下几种方式 方式一查看 sql 执行频次 show global status like ‘Com_______’; // global 表示全局 show session status like ‘Com_______’; 主要查看select、insert、update、delete四种情况Value 表示执行的次数。如果 select 次数占大部分也侧面的告诉了我们 sql 优化的方向可以考虑给数据库表添加索引来提升查询效率。 方式二慢查询日志 方式一找到了 sql 优化的方向因此现在我们需要找到具体的慢 sql。刚好 mysql 也提供了慢查询日志慢查询日志记录了执行时间超过指定参数long_query_time单位秒。默认是10秒的所有 sql 语句的日志默认是没有开启的需要我们修改配置文件。 如果是 Linux 系统下的 mysql配置文件为etc/my.cnf // 开启慢查询日志 slow_query_log1 long_query_time2 // 慢查询设置的阈值 由于本次我的演示为 Windows 版本的 mysql修改慢查询配置分为指令和配置文件修改。 配置文件C:\ProgramData\MySQL\MySQL Server 8.0\my.ini具体配置文件为my.ini如果路径不对可自行查询自己电脑的路径。 指令修改show variables like ‘%quer%’; show variables like ‘%quer%’; 用于查看 mysql 的各项配置。 set global slow_query_log‘ON’; // 开启慢查询日志 set global slow_query_log_file‘D:/logs/slow-sql-log.log’ // 重新设置慢查询的存放路径 演示我已将 long_query_time 修改为 2 秒person表中插入了一千七百多万行数据。 演示select * from person; 然后查看慢查询日志文件 查看具体的 sql 和耗时后就可以针对该条 sql 进行优化了。 方式三show profiles详情 方式二介绍的慢查询日志也有一点的弊端假如有一条很简单的 sql但是执行时间为 1.99 秒因此就不会被记录到日志文件中但是这确实也是存在的一种慢查询情况因此引入 show profiles。show profiles 能够在做 sql 优化时帮助我们了解时间都耗费在哪里去了。 show profiling 查看当前 mysql 是否支持 prifile 操作 select hava_profiling; profiling 默认是关闭的开启 profiling select profiling; // 查询结果0表示关闭状态1表示开启 set profiling 1; // 开启 执行几条 sql然后查看 profiling select * from person; select * from person where id 70935; select * from person where name ‘姓名test’; select count(*) from person; 查看 show profiles 具体的耗时和 sql 就展示出来了。 查看指定 query_id 的 sql 语句各个阶段的耗时情况。 show profile for query 2; // 查看query_id 为 2 的耗时情况 查看指定 query_id 的 sql 语句 cpu 的使用情况。 show profile cpu for query 2; // 查看query_id 为 2 的耗时情况
以上统计情况都仅供我们参考。