注意, 不要以为使用了with as, 就能提高性能, 使用不当反而会降低性能. 只在特定情况下才能提升效率....相关知识点:
如果with as 查询块被使用2次或两次以上, 会自动做materialize, 如果不想被物化, 可以使用/*+ inline */的hint ;
如果查询块只被调用一次..., 默认不会做materialize, 可以用/*+ materialize*/的hint来使其物化生成临时表....注意:如果返回列中含有lob字段, 不能被materialize....在12.2及以上版本中, materialize 有个新特性, 叫CURSOR DURATION MEMORY, 可以把结果集保存在内存中, 而不是写到temp表空间, 可以提升效率.
2.提高代码可读性