MySQL中SQL执行原理
MySQL8中SQL执行原理
1.确认profiling是否开启,开启的话,mysql会收集sql执行时所使用的资源情况。
mysql> select @@profiling;
mysql> show variables like 'profiling';


profiling=0 代表关闭,我们需要把 profiling 打开,即设置为 1:
mysql> set profiling=1;
2. 多次执行相同SQL查询
然后我们执行一个 SQL 查询(你可以执行任何一个 SQL 查询):
mysql> select * from employees;
3. 查看profiles
查看当前会话所产生的所有 profiles:
mysql> show profiles; # 显示最近的几次查询

4.查看profile
显示执行计划,查看程序的执行步骤:
mysql> show profile for query 5;
mysql> show profile, cpu,block for query 5;

后面可以跟着不同的参数
ALL、BLOCK IO、CONTEXT SWITCHES、CPU、IPC、MEMORY、PAFW DAUL TS、SOURCE、SWAPS
例如:
show profile all;

5.开启缓存
在my.cnf中配置
query_cache_type=1
重启mysql,重新加载配置
systemctl restart mysqld
通过sql查询是否开启缓存
mysql> show variables like '%query_cache_type%';
再次查询后


5.7中存在缓存,不过默认时关闭状态,需要开启。
8.0中不存在query_cache_type这个参数
本文来自博客园,作者:King-DA,转载请注明原文链接:https://www.cnblogs.com/qingmuchuanqi48/articles/16698516.html

浙公网安备 33010602011771号