首页 > 代码库 > SQL效率的几点心得
SQL效率的几点心得
这几天一直在写SQL,有时候对比同样效果的SQL语句,可是查询所需要的时间有时候相差很多,下面总结遇到的几个点:
1、between and
在有些时候自己比较喜欢使用这个语句,因为可以通过把数据变成number型然后省去大于号小于号,比如比较常用的查询一个月的数据。
select * from table1 where to_number(to_char(createdate,‘yyyymmdd‘)) between 20140901 and 20140930--用于查询一个月的数据
这样执行起来速度也还可以,但是比起下面的写法就有些差距了
1 select * from table1 2 where to_number(to_char(createdate,‘yyyymmdd‘)) like ‘201409__‘3 4 --用于查询一个月的数据
下面的写法,提升的查询效率至少是上面的两倍多
2、如果是number型数据的话就不要再用to_number()函数了,虽然浪费的效率不多,但是能省一点还是省一点的好
3、plsql中的null值
通过几次查询,纠结了一个上午,才弄明白在plsql中当一个字段不等一个值的时候,这个值的外围是不包括null的,也就是说,这样的查询不会包含null值
4、善待left join ……on …… and
虽然这样写也对,但是要注意这样的结果和把限制条件放在where后面之后的查询结果是有一定区别的
SQL效率的几点心得
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。