sql-server - SQL Server在使用and时对where子句有任何优先级吗?
问题描述
我有 2 列:Name
和Price
.
Price
是一个计算列,它调用一个函数来计算一些查询的价格。
现在我想知道两者之间有什么区别:
select *
from myTable
where name like 'j%' and Price > 1000
和
select *
from myTable
where Price > 1000 and name like 'j%'
我想知道我一开始是否使用像'j%'这样的名称,它是否有更好的性能,因为也许 sql server 一开始不会检查所有记录的计算列?
解决方案
完全没有区别。查询引擎将按照它认为可以提供最佳检索选项的任何顺序来评估这些内容。谓词的顺序和每个谓词中值的顺序都无关紧要。
推荐阅读
- python - 将 lambda 函数应用于 2D 数组并接收回 1D 数组
- apache-kafka - Confluent Kafka Azure blob源存储连接器error_code”:500,找不到任何实现连接器的类
- reactjs - 接下来的反应表中有一个我无法处理的错误
- java - Hibernate 无法正确识别序列增量
- git - 即使在名义上提交文件后,也推送未暂存以进行提交的文件
- python - 将 S3 对象名称转换为 S3 对象 url (python)
- spring - 带有 Kafka 和 Websockets 的 Spring WebFlux
- excel - 具有 2 个条件的立方体函数
- git - Git:无法推送到远程主分支
- r - 将 ggplot 与 r-shiny 一起使用时出错