SQL语句中between和>= <= 的性能差别

系统中的数据由于时间长了积累到了一定程度,发现查询越来越慢,于是开始考虑优化,第一步检查SQL的过程中,发现使用了 ALARM_TIME >=? and ALARM_TIME <=? ,而且在去掉这个条件之后查询速度有明显改善,感觉十分不合理,于是换成between,发现查询速度快了非常多。

感觉不可思议,然后又把SQL拿到MSSQL的客户端去调试,发现在几十万数据的表中,不管是between还是>= <= 速度都是非常快的,也就是说在JDBC中两者有明显的性能差距,但是在MSSQL客户端中差距并不明显。

百思不得其解,后面从别的方面排查一下问题,会不会是数据库的问题呢?下一步将会从sqlserver和oracle着手。

另外发现一个问题,就是int 和varchar类型的查询效率也会有区别,当数据量增大的时候区别就开始明显地体现出来了,所以尽可能地用int
  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值