Mysql数据库(待完善,验证)

查看sql执行计划

在要执行的sql语句前 添加explan关键字

explain select * from EMP where empno=998876;

清空sql的执行计划的缓存

通过微调 SQL 文本,让 MySQL 认为这是一个新的查询,从而生成新的执行计划

-- 原始 SQL
SELECT * FROM users WHERE id = 1;

-- 修改后(添加无意义注释)
SELECT /*+ RANDOM_HINT_123 */ * FROM users WHERE id = 1;

  1. 重启服务会清空所有缓存(包括执行计划、表缓存等)
    sudo systemctl restart mysql

sql语句执行变慢

分区表的字段没走,联合索引失效,第一次走执行计划的缓存

mysql 开始慢日志

-- 动态开启(无需重启)
SET GLOBAL slow_query_log = 'ON';

SET GLOBAL long_query_time = 1; -- 阈值设为1秒

set global slow_query_log_file='D:\Log\mysql.log'; -- 日志路径
posted @ 2025-05-28 18:12  加油酱  阅读(10)  评论(0)    收藏  举报