自引用SQL查询因大数据而失败。有更好的方法吗?

时间:2018-03-22 11:00:55

标签: sql sql-server

我遇到了以下几行的SQL Server查询:

UPDATE R SET R.fieldX = C.fieldX,
R.fieldY = C.fieldY,
R.fieldZ = C.fieldZ,
...etc, about 20 field assignments....
FROM TableA R JOIN TableB T ON T.fieldA = R.fieldA AND T.fieldB = R.fieldB JOIN tableC C ON T.fieldC = C.fieldC  AND T.fieldD = C.fieldD AND R.fieldE = C.fieldE AND R.fieldF = C.FieldF WHERE T.fieldE = 0 AND R.FieldE = 0

它的自引用性质(更新参与多表连接的表)看起来很可疑,虽然它有效,但表有大量行,它会消耗大量的磁盘空间在完成之前(如果它在用完驱动器空间之前完全完成)。

查询的目的是将数据从各种连接表传输到目标表。

是否有更有效的方法来实现这一目标?

0 个答案:

没有答案