【发布时间】:2013-09-18 16:43:06
【问题描述】:
当然,对于大多数小型事务来说,这不是一个很大的因素,但是对于较大的数据集,假设有有用的索引,使用 JOIN 而不是使用 CASE 执行 INSERT 是否更快?
使用 CASE 的示例(在 T-SQL 中):
INSERT into Foo
(CarID, CarMake)
(SELECT CarID,
CASE WHEN CarModel = 'Odyssey' THEN 'Honda'
WHEN CarModel = 'Sienna' THEN 'Toyota' END
as CarMake
FROM FooCar)
使用 JOIN 的示例:
INSERT into Foo
(CarID, CarMakeID)
(SELECT A.CarID, B.CarMake
FROM FooCar as A
JOIN FooMake as B on (A.CarModel = B.CarModel)
)
这两个语句中的哪一个会达到更快的目标?请查看示例数据样本,它不能很好地代表问题的大小。 我找不到像这样的另一个问题,但似乎应该已经提出并回答了。
【问题讨论】:
标签: sql performance join case