当前位置:Gxlcms > 数据库问题 > Mysql的逻辑架构

Mysql的逻辑架构

时间:2021-07-01 10:21:17 帮助过:33人阅读

查询数据缓存是否开启 show variables like ‘%query_cache_type%‘ // 查询缓存的大小 show variables like ‘%query_cache_size%‘ // 设置开启缓存

 如果不是ON,修改配置文件以开启查询缓存,默认是OFF:

  vi /etc/my.cnf

  [mysqld]中添加:

  query_cache_size = 20M

  query_cache_type = 1

// 设置缓存大小    
set global query_cache_size = 134217728;

手写SQL

技术图片

 

 

SQL解析

技术图片

 

 

 优化器

源SQL

explain select * from esp_76 where creator =1;

技术图片

 

 

 由此可见是存在where条件的 查询的表是esp_76

源SQL

explain select * from esp_76 where 1=1;

技术图片

 

 

 由此可见在经过SQL优化器之后,where 1=1被优化掉了,在Mysql看来有where和没有where的执行结果是一致的

源SQL

explain select * from esp_76 where id = null;

技术图片

 

 由此可见因为ID是主键,所以不可能为null,所以Mysql在extra中表示出这条SQL是没有返回结果的,并且table字段也是空的,干脆连表都不扫描了

这就是SQL的优化器

太困了,下一章说存储引擎

作者:彼岸舞

时间:2020\07\04

内容关于:Mysql

本文来源于网络,只做技术分享,一概不负任何责任

 

Mysql的逻辑架构

标签:mys   结果   int   parse   util   认知   系统   ike   查询缓存   

人气教程排行