关于查询缓存的一个思考
Posted 走出自己的未来
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于查询缓存的一个思考相关的知识,希望对你有一定的参考价值。
近期在兼任公司DBA时,某同事问了一个问题,说咱们数据库中有没有开启查询缓存啊。这个问题比较常见,在涉及到数据查询优化时,这个问题就得需要考虑了。
事后,我又想了一下这个问题,就说项目中是否需要对数据库开启查询缓存?使用过HIbernate或mybatis的都应该知道,在这两个持久层框架中,都存在查询缓存。那么他们有什么区别与联系呢
相同点:
数据库的查询缓存和持久层框架中的查询缓存,他们的作用都是一样的,第一次执行某语句的查询时,会将该语句的查询结果缓存下来,当第二次同样的语句进行查询时,不需要再次执行sql,只需从缓存中获取即可,提高了查询效率。
不同的:
数据库查询缓存是可以减少语句查询,优化了一些查询上的性能,但是我们程序连接数据库却并没有减少。也许是基于这一点,持久层框架加入了查询缓存的功能,这样当第二次执行相同sql语句时,不再请求数据库连接,直接从缓存中获取数据,这样减少了很多连接数据库的开销。
以上是关于关于查询缓存的一个思考的主要内容,如果未能解决你的问题,请参考以下文章