with as 可以优化左联吗?

踏雪无痕 2015-07-07 10:42:21
我不是专业的开发,只是业余写几张报表提高工作效率,我想请问一下,如果A表和B表左联,而B表也是一张复杂的内联表并加了分组和where条件的,或者B表也是一张表只是加了一些分组和过滤条件。那么如果我把B表的代码全部放在with as中,这样效率可以提升吗?
...全文
192 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
踏雪无痕 2015-12-10
  • 打赏
  • 举报
回复
虽然不能提高效率,不过代码“封装”一下看起来很是比较易读的。
hery2002 2015-07-07
  • 打赏
  • 举报
回复
CTE不会提升效率,只能让你的代码看上去更简洁和舒服。 如果要提升效率,可以考虑把B表的数据写入临时表,或者增加相应的索引来提高查询速度。
Pact_Alice 2015-07-07
  • 打赏
  • 举报
回复
您可以先将B表的数据存放到临时表中,然后在使用A表与临时表进行连接,这样比较方便一些的
唐诗三百首 2015-07-07
  • 打赏
  • 举报
回复
把B表的代码全部放在with as中,这样效率可以提升吗? --> 基本没有提升,建议分析整个语句的执行计划,找到性能瓶颈才好优化.
许晨旭 2015-07-07
  • 打赏
  • 举报
回复
不会提高, cte本质上也是临时表

34,590

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧