日期:2014-05-16  浏览次数:20319 次

【技术心得】 我所理解的数据库缓存是什么

数据库缓存是什么

数据库缓存包括查询数据库时的查询缓存(Query Cache)和数据库本身的Data Buffer

Query Cache是什么

Query Cache 在不同的数据库有不同的效果,但是最终的目标都是通过查询时的优化缓存,得到加速查询的结果。

笔者查询相关资料,得到以下结果:

Oracle Query Cache 是缓存执行计划的,而MySql Query Cache 不缓存执行计划而是整个结果集。缓存整个结果集的好处是有更快的查询速度,但由于缓存的是结果集因此Query必须是完全一样的,这样带来的后果就是平均命中率低,要求在表数据变化的时候也变化。 Query Cache 对于一些小型应用程序或者数据表的数据量不大的情况下效果是最为明显的。

从网上查询到的信息是,基于实际情况设置128M左右。

数据库本身的Data Buffer是什么

data buffer是数据库数据在内存中的储存,要尽可能的去使用,设置到物理内存的60%以上。

?

有关mysql数据库缓存的优化方法,可以参考:

http://jackyrong.iteye.com/blog/670253

?