![]() |
1
1
SQL是一种声明性语言。您可以通过SQL描述您想要什么,而您提交该SQL的系统决定如何为您获得它。换言之,你对它如何达到这个结果没有太多的发言权。因此,在几乎所有的RDBMS中,这两条语句都是同义的。 解析完sql后,系统将执行优化步骤以尽快执行。任何称职的RDBMS都将执行一个称为“谓词下推”的优化步骤,在该步骤中,它将接受WHERE子句中的条件,并确定在读取表时是否可以将它们应用于数据选择。 如果选择EVERYTHING,并且只有在通过所有联接将数据混洗在一起之后,才最终查看WHERE子句,那就有点傻了。归根结底,微软在云业务中并没有不必要地消耗计算,也许是这样。我不在那里工作。 无论如何,我没有Azure实例要测试,但如果你想确认,你可以为这两个查询运行解释/执行计划,并亲自查看是否有任何差异。它们很可能是一样的。 |