执行计划SQL写法差异改变之一_with子句
环境准备:
create table t_with as select rownum id,a.* from dba_source a where rownum<100001;
语句1:
从SQL的执行计划看,需要四次回表,CPU消耗和读取的数据量都较大。

语句2:
从SQL的执行计划看,回表两次,SYS_TEMP_0FD9D7081_A31928F5是内存中的缓存。这就是with子句的魅力,一次获取后缓存在内存中多次使用,避免了多次回表,减少了CPU消耗。
本文探讨了SQL查询中WITH子句的使用,通过对比两种不同的执行计划,展示了WITH子句如何减少回表次数,降低CPU消耗,提高查询效率。使用WITH子句可以将数据一次性缓存于内存,从而在后续查询中重复利用,提升整体性能。

被折叠的 条评论
为什么被折叠?



