首页 / 知识
SQL Server:选择文字值是否比选择字段更快?
2023-04-17 11:34:00

SQL Server: Is SELECTing a literal value faster than SELECTing a field?本问题已经有最佳答案,请猛点这里访问。
我已经看到有人使用
在SQL Server中,在 为了Google的缘故,我将使用与该问题相同的答案(使用Exists 1或Exists *的子查询)来更新此问题,因为(当前)错误答案被标记为已接受。注意,SQL标准实际上说通过*的EXISTS与常量相同。 不。这已经涵盖了数十亿次。 SQL Server很聪明,并且知道它已用于EXISTS,并且不向系统返回任何数据。
Quoth Microsoft:
还有,不相信我吗?尝试运行以下命令:
如果它实际上在用SELECT列表做某事,它将以零错误引发div。没有。 编辑:请注意,SQL标准实际上是在谈论这一点。 ANSI SQL 1992标准,第191页http://www.contrib.andrew.cmu.edu/~shadow/sql/sql1992.txt
当您使用SELECT 1时,您会清楚地显示(向以后阅读代码的人员)您正在测试记录是否存在。即使没有性能提升(这将在后面讨论),代码可读性和可维护性也会有所提高。 如果您看一下执行计划
并查看流聚合,您将看到它计算
所以
但是,我在" Inside SQL Server"系列丛书中的某处读到,
就像有人指出的那样,sql server忽略了EXISTS中的列选择列表,所以没关系。我个人倾向于使用" 在existant子句中选择什么都无所谓大多数人会选择*,然后sql server会自动选择最佳索引 是的,因为当您选择文字时,它不需要从磁盘(甚至从缓存)中读取。 选择1应该更好地用于您的示例。 Select *获取运行时之前与对象相关联的所有元数据,这会在查询完成时增加开销。尽管在执行计划中运行两种类型的查询时可能看不到差异。 |
最新内容
相关内容
linux下抓取字段命令?
linux下抓取字段命令?,数据,系统,命令,单位,报告,工具,字符串,文件,范本,样式,Linux系统怎么使用awk命令处理文字数据?其中command是真正的awklinux提取字段串命令?
linux提取字段串命令?,数字,字符串,状态,工具,命令,文件,范本,样式,正则,字段,linux如何获取两个字符串之间的内容?1、在 Linux 中,您可以使用linux命令常用文字?
linux命令常用文字?,地址,工作,管理,系统,命令,标准,目录,时间,网络,工具,linux常用的命令有哪些linux常用命令如下:查看内核版本:uname-a。控制linux删除文字命令?
linux删除文字命令?,软件,位置,设备,标的,状态,情况,文件,命令,信息,第一,Linux文件系统操作命令df命令:用于显示文件系统的磁盘空间使用情况,包linux文字动态命令?
linux文字动态命令?,系统,工作,地址,工具,管理,网络,命令,分析,目录,代码,Linux命令大全1、linux常用命令有pwd命令、cd命令、ls命令、cat命令linux数据库选择命令?
linux数据库选择命令?,系统,地址,工作,软件,管理,信息,工具,基础,命令,服务,操作系统常用命令和linux常用命令怎么学首先打开linux操作系统在linux文字替换命令?
linux文字替换命令?,实时,工作,文件,标的,首次,评论,名称,简介,流程,地址,Linux中vi的查找、替换、删除操作1、vi和vim都是Linux中的编辑器,不学编程为什么选择Python
学编程为什么选择Python,数据,人工智能,标准,代码,发展,工资,占比,项目,待遇,培训,人工智能的飞速发展推动使用Python编程语言的人越来越多,Pypython如何选择Python中的IDE?
python如何选择Python中的IDE?,工具,代码,平台,通用,培训,实时,最新,智能,工作,环境,在写Python代码时,最好的方式就是使用集成开发环境了,也就报名Python培训选择哪种方式比较好
报名Python培训选择哪种方式比较好?,培训,工作,基础,时间,情况,在线,最划算,环境,系统,方式,Python不仅是一种高级的编程语言,而且还是一种应用让你Python代码更快的小技巧
让你Python代码更快的小技巧,代码,电脑,时间,工具,变动,对比,培训,函数,效率,列表,大家好!今天呢,我们来聊一聊如何加速你的python代码。Pytho为什么要选择python?
为什么要选择python?,代码,工作,概念,设备,数据,宏观,年度,人工智能,教育,科技,作为新手,在面对广泛应用于企业级应用开发的Java、游戏客户端