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这个参数

posted @ 2022-09-16 01:04  King-DA  阅读(53)  评论(0)    收藏  举报