1
1
我的经验是,这是一个折腾。如果您对这两个表有良好的索引(您需要一个包含productID、barcode和orderID的索引),我敢打赌这两个查询将执行相同的操作。所以我会用你认为更容易阅读/维护的。 另外,如果您所做的只是查询以确定是否需要删除,那么最好跳过选择并只进行删除。如果没有要删除的内容,则DELETE语句将发现这一点,并且不会执行任何操作。换句话说,如果发现需要删除的内容,执行选择操作需要处理数据两次。相反,只执行删除操作,不管怎样,只处理一次数据。 |
2
1
一个存在通常会更快。它在找到第一个匹配之后停止,在这里联接必须考虑所有可能的匹配。 你可能想问一下你是否需要这样做。与其删除行,不如使用“Where not exists…”限制进行插入。如果您使用的是SQL Server 2008,那么使用MERGE语句可以做得更好。 |
Duvan · 将逗号(,)替换为点(.)[副本] 2 年前 |
Mateen Bagheri · 选择表的计数并选择其自身 2 年前 |
SoT · SQL Server中求和函数的工作方式 2 年前 |
NKAT · 将列值聚合到列表中会产生错误 2 年前 |
deanpillow · 返回两列中有一个匹配值的记录 2 年前 |
snowflakes74 · 在Dapper中异步查询多个结果 2 年前 |