问题描述:SQL语句 》》》在Navicat中执行,查询+计算,一年数据量第一次执行需要5秒,Mybatis执行查询用了了230多秒。
解决过程:
先后试过dbcp连接池配置调整,修改连接数等等;
注入参数连接符调整(有个帖子说#有问题,换成$正常)都没有解决问题,连接符问题可能要看自己项目的使用的框架版本吧;
最后固定查询参数,不使用接口注入的参数,正常查询,分析可能还是参数注入问题,一个个参数测试,最后发现是数据类型问题,【虽然不太理解参数是DATE类型,数据库也是DATE类型,为啥有这问题,可能是底层需要在转换一下???,但是处于对Mybatis的尊重,还是换成了她喜欢的衣服】好像看见过一个文章中说转义符问题,所以转义符也替换了(保持一颗虔诚的心,啧啧啧),所以问题就这样解决了。
AND <![CDATA[ DT >= #{startTime,jdbcType=DATE} ]]>
项目使用mybatis3.0.6, mybatis-spring1.0.1, 个人认为应该是框架版本太低问题,在一些新项目中就没有发生过这种问题。
总结:Mybatis在不同的版本中有不同的问题,还是要多学习(多踩坑)呀!!!1