我知道在连接多个表时,性能取决于它们的连接顺序。加入牌桌时我应该考虑哪些因素?
答案 0 :(得分:1)
大多数现代RDBM根据加入的表,使用的索引,表统计信息等优化查询。根据查询中的连接顺序,它们很少(如果有的话)在最终执行计划中有所不同。
SQL旨在声明;你指定你想要什么,而不是(在大多数情况下)如何获得它。虽然索引提示可以允许您指示优化器使用或避免使用特定索引,但总的来说,您可以将该工作留给引擎,而不是编写查询的业务。
最后,在SQL Server Management Studio中运行不同版本的查询并查看实际执行计划是判断订单是否能真正发挥作用的唯一方法。
答案 1 :(得分:0)
据我所知,连接顺序对查询性能没有影响。查询引擎将解析查询并以其认为最有效的方式执行查询。如果需要,尝试使用不同的连接顺序编写查询并查看执行计划。它们应该是一样的。
请参阅此文章:http://sql-4-life.blogspot.com/2009/03/order-of-inner-joins.html