【发布时间】:2011-11-25 15:43:49
【问题描述】:
MERGE 语句使用哪个连接?如何针对大型表优化我的合并语句,以便它不会花费更多时间来执行。
请帮忙。
【问题讨论】:
-
它将使用您定义的任何 JOIN - 最好在您定义的源表和目标表的公共列上使用 INNER JOIN
-
假设我在查询中使用了 join(existing.column1=new.column1)。我将如何提及加入?
-
我想优化合并语句中的插入和更新语句。
-
您的 MERGE 语句应该类似于
MERGE (target) USING (source) ON --here comes **your** JOIN condition-- ...- 那么您的问题到底是什么?你已经有一个 MERGE 声明了吗?如果是这样:请问你能发布吗?? -
@marc_s - 即使合并语句具有
inner join,您获得的实际逻辑连接类型也取决于您包含的WHEN MATCHED子句。@akd das。根据您拥有的子句以及您的连接条件和索引是什么,您可以获得任何逻辑连接类型或任何物理连接类型。如前所述,这个问题无法回答。这太笼统了。您不妨问如何优化SELECT语句。
标签: sql sql-server-2008