SQL嵌套查询效率问题

yujiang69 2013-01-19 02:47:41
Select *
From (Select * From Bi_Item_Info) a
Where bii_itemno = '1001'


Select * From Bi_Item_Info
Where bii_itemno = '1001'


以上两条语句从执行计划看是一模一样的

实际是否一样? 特别是对于第一条SQL是先where 在 select 还是先select 再 where
...全文
556 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Paddy 2013-01-20
  • 打赏
  • 举报
回复
楼主 查询在编译过程中会将一些简单的语句自行优化,选择一个较快的执行计划 但是如果逻辑嵌套较深,第一增加分析开销,第二产生的执行计划不一定效率高 所以建议在编写TSQL时,尽量简化逻辑,避免较多的嵌套查询
DBA_磊仔 2013-01-20
  • 打赏
  • 举报
回复
是一样的,对于复杂的语句,即使执行计划一样,开销也不一定一样,因为开销包括了生成执行计划部分 和 执行查询部分
發糞塗牆 2013-01-19
  • 打赏
  • 举报
回复
单纯这个语句,其实第一句有多余的。不过可能你只是举例子而已。执行计划一样,那正么SQLServer的编译器已经帮你转换成一样的语句了。

34,590

社区成员

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

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