-------------可能性之一(传参问题)-------------
今天在测试一个新页面的时候发现了一个问题
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>
最后正常执行。