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

时间:2022-08-31 20:19:23

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会进行全表扫描效率低


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':需要查询的条件