码迷,mamicode.com
首页 > 数据库 > 详细

oracle 子查询因子化 浅谈(with的使用)

时间:2014-12-12 12:56:13      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:blog   使用   sp   div   log   bs   代码   as   tt   

近来学习oracle,想要提高自己所写语句的效率和易读性,今天的笔记是关于子查询因子话这么一个东西

 

因子化的查询不一定可以提高效率,但是一定可以再提高程序的可读性方面成效显著

--with 语句
with sales_c (
        select sales,e_NO,e_name from emplyee
)
select * from sales_c;
--查询的结果就是( select sales,e_NO,e_name from emplyee)这张字表中的内容
--with一次声明,在下面的例子中可以随意的使用,提升了代码的可读性

--例如
with sales_c (
        select sales,e_NO,e_name from emplyee
),
    name_c(
       select sales,e_name from sales_c
)
select * from sales_c,name_c;
--读起来确实很方便

原理:oracle会把with query_name的这个query_name作为一个临时表或者视图固化下来,提升查询的效率

 

oracle 子查询因子化 浅谈(with的使用)

标签:blog   使用   sp   div   log   bs   代码   as   tt   

原文地址:http://www.cnblogs.com/mozizhu/p/4159192.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!