SQL中的1=1影响性能吗?
类别:数据库 浏览量:237
时间:2015-1-29 SQL中的1=1影响性能吗?
SQL中的1=1影响性能吗?数据库在进行查询的时候,经常看到有的人使用where 1=1和1=0,1=2等的查询,这样写主要是一些程序员为了拼凑动态的sql语句。
在不定数量查询条件情况下,1=1可以很方便的规范语句。例如一个查询可能有name,age,height,weight约束,也可能没有。
SQL Server中的1=1影响性能吗?
1、查询分析器在代数树优化阶段就把1=1 直接给过滤掉了。这个功能就是查询优化器中所谓的“Constant Folding”。
2、假设查询分析器在代数树优化阶段没有把where 1=1这种情况直接过滤掉。比如语句select * from table where a=1 这个语句,SQL Server估计的行数会是:
a列的选择率*表中采样的总行数
因此,当Where 1=1 and a=1时,结果就变为
1*a列的选择率 *表中采样的总行数=a列的选择率 *表中采样的总行数
因此无论是否有1=1 and,查询分析器都会估计相同的行数,从而拥有同样的执行计划,因此SQL Server中不影响性能。
标签:SQL
您可能感兴趣
- mysql8.0安装版安装详细教程(mysql 8.0.24版本安装配置方法图文教程)
- MYSQL中GROUP BY不包含所有的非聚合字段时的注意事项
- sqlservercount函数怎么用(Sql Server中Substring函数的用法实例解析)
- docker部署mysql如何访问(完美解决docker安装mysql后Navicat连接不上的问题)
- sqlserver2000升级教程(MSSQL 2000 使用帮助sql server简明教程)
- mysql读写分离怎么实现的(详解MySQL主从复制及读写分离)
- sqlserver数据库同步复制(SqlServer将数据库中的表复制到另一个数据库)
- mysqljoin默认是什么(mysql-joins具体用法说明)
- LINQ TO SQL 中join
- navicat怎么导入sql数据库文件(Navicat导出.sql文件方法)
- mysql允许远程访问docker(Docker部署mysql远程连接 解决2003的问题)
- sql统计天数怎么算(SQL对数据进行按月统计或对数据进行按星期统计的实例代码)
- linux安装nacos教程(Nacos配置MySQL8的方法)
- mpp数据库的客户端工具(xampp默认mysql数据库root密码的修改)
- docker启动sqlserver(用docker运行postgreSQL的方法步骤)
- SqlServer类似正则表达式的字符处理问题(SqlServer类似正则表达式的字符处理问题)
- 2020年大众7.5代高尔夫R终结特别版 最后的呐喊(2020年大众7.5代高尔夫R终结特别版)
- 七年前的这部剧有毒,全剧只有女主红到发紫,男主至今无人认识(七年前的这部剧有毒)
- 宋轶除了演过于曼丽,原来还演过一个青楼女子(宋轶除了演过于曼丽)
- 赵丽颖第一部当女主的戏,主角配角个个都是实力演员(赵丽颖第一部当女主的戏)
- 乾隆为何这么喜爱白塔原因是什么(乾隆为何这么喜爱白塔原因是什么)
- 逐渐消失的东北八大怪现象,进步的社会里我们遗失的是什么(逐渐消失的东北八大怪现象)
热门推荐
- css文字竖排代码(纯 CSS 实现多行文字截断功能)
- ASP.NET cache缓存的用法
- dedecms搜索功能怎么设置详细(dedecms pagelist标签修改方法分享)
- mysql8.0.23的安装步骤(mysql 8.0.22 下载安装配置方法图文教程)
- nginx的最大并发(nginx限制并发连接请求数的方法)
- utf-8 gbk gb2312的区别
- python去除字符串中间的空格(Python去除字符串前后空格的几种方法)
- docker分配容器资源(Mac为docker和kubectl添加自动补全命令的方法)
- 简简单单教你用python写个游戏(python3 pygame实现接小球游戏)
- docker node 分阶段构建(Docker安装、创建镜像、加载并运行NodeJS程序的详细过程)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9