时间:2021-07-01 10:21:17 帮助过:33人阅读
如果不是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 查询缓存