加入哪个更快


Answers:


17

不会有任何区别-mssql(和大多数数据库引擎)中的查询引擎将为两者建立相同的查询计划。您可以通过在SQL Workbench中查看估计的查询计划和实际的查询计划来验证这一点。


10

优化器将忽略它,因为它是相同的JOIN。

SQL是声明性的,不是过程性的,查询将按toto(而不是逐行)求值。


4

如何创建一个使用您自己的数据来回答您的问题的测试?

如果您仅学习关于数据库编程的一件事,那就永远不会有一种解决方案能适合所有问题。当然有最佳实践,但总的来说,总是视情况而定。

我之所以这么说是因为关系数据库查询通常没有一种适合所有情况的统一方法。因为有一个计划者来决定如何处理数据,所以根据计划者选择在任何给定时间使用可用信息的方式,同一查询的点亮速度可能很快还是非常慢。例如,有时索引是您最好的朋友,一个月后一个月又是您的最大敌人,这取决于您是否在搜索或插入数据以及运行查询时其他人如何使用系统。因此,我总是建议创建一个测试来证明您的用例该查询将如何执行。即使这样,您的结果也可能随时间变化,并且随着数据和用法的变化,您将回来进行优化。

我认为您将从stackoverflow获得的答案将是教科书答案,而不是只有您的环境才能提供的真实答案。最后,重要的是您的真实世界结果。

现在,您在此处显示的简单查询应该都是相同的性能。但是即使如此,如果您提出问题,我仍要进行测试并加以证明。我相信结果,然后再相信任何人的回答,包括我的回答。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.