查询缓存query_cache
查询是否开启缓存:show variables like 'query_cache%';
默认是开着的,但是要设置缓存的大小,单位是K
开启并设置大小:set global query_cache_size = 1024*1024*32 ,一般项目中32M肯定是不够的,查询语句也会永久保留,如果数据表字段有改动则会清除缓存
可见,第二次查询,使用了开启的缓存,查询数达要快得多
注意事项,
1、查询缓存存在判断是严格依赖于select语句本身的:严格保证SQL一致,大写都不行
2、如果查询是包含动态数据,则不能被缓存。now()当前时间的意思
3 、一旦开启查询缓存,MySQL会将所有可以被缓存的select语句都缓存。如果存在不想使用缓存的SQL执行,则可以是哟个SQL_NO_CACHE语法提示达到目的: