日期:2014-05-18  浏览次数:20773 次

求with as (子查询部分)与 临时表区别?
背景:在实现的一个复杂SQL时,运用了with as 其中,with as 最后得到的结果是5列35行,我用另一个张表去关联这个集合,时间竟然用到惊人的11秒。然后我先把with as 得到的集合先插入临时表中,再去关联另一表,时间就少于1秒。


求原因,求大神,求真项...

------解决方案--------------------
CTE类似于派生表。后面必须出现相应的增删改的语句才可以使用。
建议楼主贴出语句
------解决方案--------------------
是这样的,你用cte,其实和你直接用子查询效率上没太大差别
而用临时表,是数据真正跑到临时表里了,相当于第2次关联时就是和一个小表关联,效率会很高
------解决方案--------------------
楼主8楼说的是oracle才有的功能,MSSQL没有。