记录一个sql快,mybatis慢的查询问题


在做一个项目的时候,偶然发现mybatis特别慢,数据就600多,很不科学

百度一下,有很多说什么sql语句问题,类型不匹配==,我是新手不太懂,偶然的机会在mybatis配置添加了一个fetch参数

好了。。。。

解决了问题,顺便,网上查一下具体原因:
jdbc在查询的时候,每次会从游标中取10条数据,连续重复,每一次重复都会进行一次数据库交互,交互都是非常耗时间的,而fetchSize就是设置每次查询出来的数据条数,保存进缓存中,以后每次游标取10条数据,就会从内存中读取10条数据,这样不需要进行数据库交互,耗时也就变少了。以下来自百度....
ORACLE JDBC驱动默认的FETCHSIZE为10。一般为了方便,我们会在数据源层面上来设置fetchsize。

  • 在没有记录返回的情况下,OCI方式中fetchsize设置越大,对性能的影响越大。
  • 在没有记录返回的情况下,THIN和mysql的方式中,fetchsize的大小,对于性能影响不大。
  • 当返回结果集较大时,设置较大的fetchsize,对性能会有很大的提升。
  • Fetchsize设置大于返回的记录数时,对于性能的提升没有任何的意义,反而会增加内存的开销。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM