在以下两个查询中,唯一的区别是条件被交换
会不会有任何性能差异?
哪一个是可取的?我在网上搜索没有运气。请帮忙。
第一次查询:
boolean?
第二次查询:
select order_date, order_amount
from customers
join orders
on customers.customer_id = orders.customer_id
where customer_id = 3
答案 0 :(得分:1)
Prdp的评论很好地总结了答案。答案是不。但要进一步澄清并提供更多信息:
SQL Server使用TSQL,它是一种声明性语言。要从this帖子中窃取,声明的定义是:
表示期望的计算结果的编程范例 没有描述实现它的步骤(也缩写为 "描述什么,而不是")
这基本上转化为您告诉SQL Server您想要返回的内容并为连接之类的内容提供逻辑,SQL Server将找出最佳方法。如果必须重新排列连接,请进行隐式转换,以便生成最佳计划。