-------------可能性之一(传参问题)-------------
今天在测试一个新页面的时候发现了一个问题
console控制台打印的SQL拿到plsql里面执行的特别快,几百毫秒就出来了。
但是在后面serviceimpl中执行的特别慢,执行了三分钟。
mapper中的SQL语句大概如下:
(date在数据库中的类型为varchar)
select * from 表名 t
where t.country_code not in ('CHN','TWN','MAC','HKG')
<if test="kssj!=null and jssj!='' "> and t.date between #{kssj,jdbcType=VARCHAR} and #{jssj,jdbcType=VARCHAR}</if>
在查了一些资料和网上的一些解释后,发现有可能是我传参的问题-----
最后把查询的修改为
select * from 表名 t
where t.country_code not in ('CHN','TWN','MAC','HKG')
<if test="kssj!='' and jssj!='' "> and date between '${kssj}' and '${jssj}' </if>
最后正常执行。
在测试新页面时遇到一个问题,SQL查询在控制台快速执行,但在ServiceImpl中执行缓慢。问题出在传参方式上。原始SQL包含日期范围条件,使用#{...}
4万+

被折叠的 条评论
为什么被折叠?



