1、缓存必备:
SQL文相同,数库表字段构、记录不变,大小写不敏感,字符集敏感
2、提缓存:
缓存配高、分区
3、多个应用多配置
4、SELECT SQL_NO_CACHE/SQL_CACHE
my.ini---------------------------------------
show variables like '%cache%';
--query_cache_type(0[off], 1[on], 2[demand]
have_query_cache: 为YES表示缓存开启
query_cache_type: on表示默认使用缓存
query_cache_limit: 能缓存的单条查询结果容量最大值, 超过此值则不会缓存
query_cache_size: 查询缓存总共占内存空间大小, 一般设置为256M为一个不错的大小
show status
like '%cache%';
Qcache_free_blocks: 查询缓存中空闲的block数目
Qcache_free_memory: 空闲的内存总量
Qcache_cache_hits: 命中的次数
Qcache_cache_inserts: 向缓存中插入新的缓存结果的次数(也就是没有命中的次数)
Qcache_lowmem_prunes: 当 Query Cache内存容量不够,需要从中删除老的单条查询结果以给新的查询结果对象使用的次数
Qcache_not_cached: 没有被缓存的SQL数, 包括无法被缓存的SQL以及由于query_cache_type设置的不会被缓存的SQL
Qcache_queries_in_cache: 目前在内存中的SQL数量
Qcache_total_blocks: 内存中总的Block数量