MySQL架构_查询计划

目录

  • 逻辑架构总体概览
  • 利用show profiles 查看sql的执行周期

逻辑架构总体概览

  • 和其它数据库相比,MySQL有点与众不同,它的架构可以在多种不同场景中应用并发挥良好作用。主要体现在存储引擎的架构上,插件式的存储引擎架构将查询处理和其它的系统任务以及数据的存储提取相分离。
  • 这种架构可以根据业务的需求和实际需要选择合适的存储引擎。
    MySQL架构_查询计划_第1张图片

利用show profiles 查看sql的执行周期

了解查询语句底层执行的过程:查看是否开启计划。
1)修改配置文件/etc/my.cnf,先开启查询缓存

新增一行:query_cache_type=1
重启mysql:systemctl restart mysqld

2)再开启查询执行计划

show variables  like '%profiling%';
set profiling=1; 

MySQL架构_查询计划_第2张图片
3)执行语句两次:

select * from mydb.mytbl where id=1 ; 

4)显示最近执行的语句

show profiles; 

MySQL架构_查询计划_第3张图片
5)显示执行计划

show profile cpu,block io for query 3;

MySQL架构_查询计划_第4张图片

执行编号4时,比执行编号3时少了很多信息,从下面截图中可以看出查询语句直接从缓存中获取数据;
MySQL架构_查询计划_第5张图片
注意:SQL必须是一致的,否则,不能命中缓存。
如果对数据库表进行 insert ,update ,delete 这个时候,缓存会失效!
如:

select * from mydb.mytbl where id=2select * from mydb.mytbl where id>1 and id<3

虽然查询结果一致,但并没有命中缓存。

你可能感兴趣的:(Mysql,Mongodb,Redis,Jdbc,mysql,架构,数据库)