常用sql函数及高效性能比较

1. truncate table 表A:平时我们都是用的delete来删除表数据,其实并没有删除干净,因为还有表空间及磁盘保留的数据,很占内存,也是为什么你查数据越来越慢的原因之一,所以用 truncate  table 能够干净的删除。


2.decode性能比case when 要高些

decode(bill_state,0,'暂存',1,'保存',2,'审批中',3,'审批通过',4,'驳回','已关闭') bill_state, 


3.可直接编译成中文:查询结果是星期四

select * from to_char(to_data('2017-10-21',yyyy-mm-dd)) from dual


4.union 查询结果进行拼接(除重),union all效率比union要高


5.尽量少用in,因为in会进行全表扫描效率低

扫描二维码关注公众号,回复: 2222112 查看本文章


6.查询去重select distinct,name from  tableA


7.instr(a,b) a中是否包含了b

NVL(a,b)a为空的时候为b,否则a


8.nvl(e.EMPSTATUS,'xx')<> 'leave'//能够查出满足条件及为空的数据:

e.EMPSTATUS:字段;'xx':自定义;'leave':需要查询的条件


9.start with connect by prior:递归查询

start with:遍历起始条件

connect by prior:连接条件

例子:可用于查询部门所在的上级机构

select t.orgid,t.orgcode,t.orgname,t.parentorgid

from org_organization t
start with t.orgid = 1019

connect by prior t.parentorgid = t.orgid



猜你喜欢

转载自blog.csdn.net/sinat_25378929/article/details/55521931
今日推荐