首页 > 数据库 > MySQL > 正文

MySQL之查找缓存

2024-07-24 12:35:48
字体:
来源:转载
供稿:网友
       MySQL之查询缓存:

  一、查询缓存的误区
  刚接触QC时,觉得是个好东西,可以将查询的结果放到QC中,这样极大的提升查询的速度,但是后来了解到如果对表进行做DML或者DDL,QC相对应的缓存就会释放,这样对于频繁更改的数据库是没有任何意义的。
  二、查询缓存场景
  每次执行select结果,会放到查询缓存中,这样下次在执行的时候,就不需要具体的执行sql,只要访问查询访问中的缓存即可。
  适合的场景:
  1、select
  2、访问大量的数据才有必要缓存其结果
  3、返回少量数据
  大量的分组、聚合、计算
  查询缓存才不至于变得非常大
  对于普通的交易系统来说,这个查询 意义不大,都是一些简单的sql,甚至于还有副作用。
  执行一次成本很高,结果集又很小,这种sql值得被缓存。
  三、 查询缓存中的参数
  | Qcache_free_blocks | 1 | #指的是空闲块数,指的是系统分配给MySQL进程的缓存总大小空间中还没有使用的空间
  | Qcache_free_memory | 20953960 | #空闲空间,指的是还没有被操作系统分配出去的内存空间。
  | Qcache_hits | 12 | #指的是命中次数
  | Qcache_inserts | 3 | #向缓存空间中插入的缓存的次数
  | Qcache_lowmem_prunes | 0 | #内存太小,修剪内存的次数
  | Qcache_not_cached | 0 | #指没有命中的次数
  | Qcache_queries_in_cache | 0 | #缓存的个数
  | Qcache_total_blocks | 1 | #总块数,指的是系统分配给MySQL进程的缓存总大小空间.

(编辑:武林网)

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表