对WITH和from(select ...)的一点比较
来源:互联网 发布:数组占几个字节 编辑:程序博客网 时间:2024/06/01 22:16
在之前的工作中,我曾经遇到过表特别大的情况,这个时候我想到了使用with来降低查询的消耗,前文中已经有了描述:http://blog.csdn.net/uncle_six/article/details/7203078。今天我突然想到,其实用with和from (select)应该没有本质的差别。所以做了个小实验。
我的表大概7W行,使用with的SQL语句如下:
WITH A AS (SELECT T.OWNER, T.OBJECT_NAME, T.OBJECT_ID, T.DATA_OBJECT_ID, T.OBJECT_TYPE, T.LAST_DDL_TIME, T.EDITION_NAME, T.NAMESPACE FROM TEST1 T WHERE T.OBJECT_NAME = 'I_USER1')SELECT * FROM A;另外一个SQL如下:
SELECT * FROM (SELECT T.OWNER, T.OBJECT_NAME, T.OBJECT_ID, T.DATA_OBJECT_ID, T.OBJECT_TYPE, T.LAST_DDL_TIME, T.EDITION_NAME, T.NAMESPACE FROM TEST1 T WHERE T.OBJECT_NAME = 'I_USER1');这个表的索引在OBJECT_NAME上。
这两个语句的执行计划:
可以看到两者的执行计划没有任何区别。也就是说,在表的数据量十分巨大的情况下,不管是使用with还是from (select ...)这种形式,可以通过选择需要的列来降低bytes,从而达到提高效率的目的,但是两者孰优孰劣,应该说是没有太大的区别的。
- 对WITH和from(select ...)的一点比较
- ‘select...(select...)... from’ 和‘select...from...inner join... ’的区别
- select into from 和 into from select
- mysql的insert into from select 和update by select
- with ss(date,date2) (select * from sysdummy1) select * from ss
- select into from 和 insert into from 的区别
- insert into from和select from into的区别
- MVC、WebForm和Silverlight的一点比较
- Region和Rect的一点比较
- SqlServer对select * from (select *from table)支持
- oracle with 别名 as (select * from *)
- query must begin with SELECT or FROM
- select() 和poll() 方法的比较
- InnoDB和MyISAM引擎的Select比较
- select,poll和epoll的比较
- select * from table_name for update; 和 select t.*, t.rowid from table_name t的区别
- SELECT * FROM TABLE 和 SELECT * FROM TABLE WHERE NAME LIKE '%%' 的检索结果为何不同?
- 对Select into from 与 Insert into select 语句的解释
- 结构体最后的长度为0或者1的数组
- 显示器信号线“插错洞”的后果
- 使用存储过程的好处
- Java SE --- 集合
- 男子为取回被扣车辆交警面前自焚被阻止
- 对WITH和from(select ...)的一点比较
- Java SE --- 反射机制
- HDU1823 Luck and Love, 二维线段树
- 【灵修】立春时节的养生(转)
- 簪花词
- 要时刻提醒自己的几件事
- 测 试 基 础 知 识
- (function($){...})(jQuery)的意思
- 【最小费用最大流】运输问题