主页 > 知识库 > where 子句的执行顺序

where 子句的执行顺序

热门标签:美国地图标注软件下载 漯河电销回拨外呼系统 电话机器人怎么看余额 硅基电话机器人官网 合肥crm外呼系统加盟 长沙外呼系统平台 城市地图标志怎么标注 西安电话自动外呼系统 怎么修改高德地图标注
看代码:
复制代码 代码如下:

set statistics io on
set statistics time on
go
set statistics profile on
go

use pubs
select * from authors
where (au_fname like 'S%' or au_fname like 'a%')
and (state like 'CA' or state like 'UT')
and (cast(zip as int) > 90000)

select * from authors
where (au_fname like 'S%' or au_fname like 'a%')
and (cast(zip as int) > 90000)
and (state like 'CA' or state like 'UT')

select * from authors
where (cast(zip as int) > 90000)
and (au_fname like 'S%' or au_fname like 'a%')
and (state like 'CA' or state like 'UT')

目的:想验证where语句的各个条件的查询顺序
环境:SQLServer 2005Express版本
步骤:显示查询计划
结果:无一例外,都被统一成了这样的代码
复制代码 代码如下:

|--Clustered Index Scan(OBJECT:([pubs].[dbo].[authors].[UPKCL_auidind]), WHERE:(CONVERT(int,[pubs].[dbo].[authors].[zip],0)>(90000) AND ([pubs].[dbo].[authors].[au_fname] like 'S%' OR [pubs].[dbo].[authors].[au_fname] like 'a%') AND ([pubs].[dbo].[authors].[state] like 'CA' OR [pubs].[dbo].[authors].[state] like 'UT')))

结论:貌似在2005之前的版本中,where子句的顺序是从前往后的。但是又貌似在2005的版本中进行了优化,所有的顺序都被统一成了以过滤能力进行排序的语句。

标签:吉林 泸州 玉溪 商洛 济源 广西 抚顺 文山

巨人网络通讯声明:本文标题《where 子句的执行顺序》,本文关键词  where,子句,的,执行,顺序,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《where 子句的执行顺序》相关的同类信息!
  • 本页收集关于where 子句的执行顺序的相关信息资讯供网民参考!
  • 推荐文章