问题
当在大数量的情况下,进行分页查询,统计总数时,会自动count一次,这个语句是在我们的查询语句的基础上嵌套一层,如:
1 | SELECT COUNT(*) FROM (主sql) |
这样在数据量大的情况下,会出问题,很容易cpu就跑满了
MyBatis是常见的Java数据库访问层框架。在日常工作中,开发人员多数情况下是使用MyBatis的默认缓存配置,但是MyBatis缓存机制有一些不足之处,在使用中容易引起脏数据,形成一些潜在的隐患。个人在业务开发中也处理过一些由于MyBatis缓存引发的开发问题,带着个人的兴趣,希望从应用及源码的角度为读者梳理MyBatis缓存机制。
本次分析中涉及到的代码和数据库表均放在GitHub上,地址:mybatis-cache-demo。