写了一段查询语句,条件中有一条alarmtype<>'1004'这样的条件,原来是这样写的
<![CATA[ and alarmtype<>'1004']]>
然后查询非常慢,做了分页的15条数据居然要5s钟,拿到数据库里查询只要20ms,调试代码。
是ibatis的一个dao方法queryforList执行时间最长,应该是框架的问题。
然后修改上面的条件为
<![CATA[ and alarmtype not in('1004')]]>
速度马上变快了,回到正常水平,这里怀疑是iBatis框架里针对<>做了特别的封装,导致出现查询慢的情况。
如果有人发现这个问题,可以参考是不是这个问题导致变慢的。