秦皇岛做网站房产公司网站建设
2026/6/11 5:52:01 网站建设 项目流程
秦皇岛做网站,房产公司网站建设,品牌建设ppt,山西seo博客在MySQL数据库中#xff0c;自带了慢SQL的监听和记录功能#xff0c;下面演示下如何如何来查看。当前数据库版本为8.0.42 开启慢SQL记录 show variables like %query%; 通过执行上面的语句#xff0c;可以看到当前数据库的情况#xff08;默认#xff0c;没有修改过#…在MySQL数据库中自带了慢SQL的监听和记录功能下面演示下如何如何来查看。当前数据库版本为8.0.42开启慢SQL记录show variables like %query%;通过执行上面的语句可以看到当前数据库的情况默认没有修改过如果查询到的结果是slow_query_logOFF表示慢SQL记录功能未开启手动开启即可具体操作如下#开启慢SQL日志功能set GLOBAL slow_query_logon;#慢SQL执行时间阈值,单位(秒) ,1毫秒0.001#不建议超过300ms,最终结果视情况而定set global long_query_time0.001;#指定慢SQL文件名为slow-sql,慢SQL日志保存在mysql/data目录下set global slow_query_log_fileslow-sql.log;long_query_time默认值是10秒钟把它改成0.001为了方便下面的演示。同时把slow_query_log_file的文件名称改成因为中文会乱码。修改配置后需要重启navicat否则不生效。将慢SQL的定义改成0.001秒1毫秒之后再次查询配置信息查看慢SQL记录在数据库执行一个查询然后观察慢SQL文件记录的信息。任意执行一个查询只要查询时间超过1毫秒即可执行完成找到MySQL安装目录到到data目录下面的slow-sql.log文件打开文件找到最后一次的记录下面对其中的内容进行分析对每个参数进行说明其中需要重点关注的两个参数是 TimeSQL执行时间Rows_examined扫描的行数这两个值越大说明SQL执行效率越低需要进行优化。MySQL优化技巧可以参考下面的文章https://blog.csdn.net/liangmengbk/article/details/155714304?spm1001.2014.3001.5501查看哪些SQL没有使用到索引除了记录慢SQL能到知道哪些SQL语句执行效率低外还有一种方式可以达到类似的效果那就是把没有使用到索引的SQL记录下来。没有使用到索引的SQL也是我们可以进行优化的重点对象。首先是在MySQL中要开启 未使用索引的语句记录 开关命令如下set global log_queries_not_using_indexeson;执行这个命令打开这个开关如果执行的SQL没有使用到任何索引则自动会被记录下来内容也是放在slow-sql.log文件中和慢SQL放在一个文件的方便分析。开启后也是需要重启navicat才能生效。为了验证能准确记录相关信息先把慢SQL的时间改成10秒暂时不记录慢SQL观察slow-sql.log文件的内容。下面执行一个查询因为这个查询使用了like关键字且前后都有%会导致原有的索引失效也就是说这个SQL肯定没有用到索引打开slow-sql.log文件看下记录的内容。确实被记录下来了因为当前设置的慢SQL标准是10秒而该SQL执行仅花费0.0014秒所以它就是因为没有用到索引而记录的。同时还发现它的下面有两个SQL也被记录下来了这两个SQL是MySQL数据库系统表的相关SQL虽然不是我们人为执行的但是以为它没有用到索引所以也被记录下来可以不用关注。目前还没有办法做到只记录我们自己执行的SQL而避开MySQL系统的SQL。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询