关于oracle中 with xx as 的用法

oracle中with as 的语法 :tname

with tname as (select * from ttable  where  .............)

select  .............


with as 语句不是以select 开头 而是以with 关键子开头

with 语句 中的生成的tname 临时表  实在内存中的  运行速度还是比较快的,如果数据量巨大,要考虑你的内存是否抗的住哦


那么问题来的, 大量数据怎么办呢?

这时他的兄弟 with clause  就要闪亮登场了

使用with as 方法时,每次执行都会创建临表tname   而使用with clause 可以看做oracle在查询时之前   预先构造了一个临时表tname,

然后我们可以对这张表按照自己的需求做进一步的处理, 若tname作为子查询的表,多次使用将只会被扫描一次


总结:


处理复杂业务,数据量不是特别大时 ,可使用with as 语句,

with clause 语句的优点:

1.使复杂的sql语句看起来美观,提高可读性

2.关键是可以很大层度的提高sql性能,

达到一次分析,多次使用  的效果

以此笔记,记录学习历程

------------------------------------------纸上得来终觉浅,觉知此事要躬行.





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值