Mer*_*cer 3 sql sql-server sql-update
是否可以在性能方面优化这些查询:
UPDATE PEOPLE
SET ID_STATE = CASE
WHEN ID_STATE = 2 THEN 9
WHEN ID_STATE = 3 THEN 9
WHEN ID_STATE = 7 THEN 8
WHEN ID_STATE = 8 THEN 9
ELSE 0
END
WHERE ID_STATE IN (2,3,7,8)
GO
UPDATE PEOPLE
SET ID_PRESI = CASE
WHEN ID_PRESI = 3 THEN NULL
WHEN ID_PRESI = 4 THEN NULL
ELSE 0
END
WHERE ID_PRESI IN (3,4)
GO
UPDATE STATE_FIC_STATE_PEOPLE
SET ID_STATE = CASE
WHEN ID_STATE = 2 THEN 9
WHEN ID_STATE = 3 THEN 9
WHEN ID_STATE = 7 THEN 8
WHEN ID_STATE = 8 THEN 9
ELSE 0
END
WHERE ID_STATE IN (2,3,7,8)
GO
UPDATE STATE_PEOPLE_PRECIS
SET ID_STATE = CASE
WHEN ID_STATE = 2 THEN 9
WHEN ID_STATE = 3 THEN 9
WHEN ID_STATE = 7 THEN 8
WHEN ID_STATE = 8 THEN 9
ELSE 0
END
WHERE ID_STATE IN (2,3,7,8)
GO
UPDATE STATE_PEOPLE_PRECIS
SET ID_PRESI = CASE
WHEN ID_PRESI = 3 THEN NULL
WHEN ID_PRESI = 4 THEN NULL
ELSE 0
END
WHERE ID_PRESI IN (3,4)
GO
Run Code Online (Sandbox Code Playgroud)
我会像Rich Benner一样,因为你在这里有很多冗余
UPDATE PEOPLE
SET ID_STATE = CASE
WHEN ID_STATE IN (2,3,8) THEN 9
WHEN ID_STATE = 7 THEN 8
ELSE 0
END,
ID_PRESI = CASE
WHEN ID_PRESI IN (3,4) THEN NULL
ELSE 0
END
GO
UPDATE STATE_FIC_STATE_PEOPLE
SET ID_STATE = CASE
WHEN ID_STATE IN (2,3,8) THEN 9
WHEN ID_STATE = 7 THEN 8
ELSE 0
END
GO
UPDATE STATE_PEOPLE_PRECIS
SET ID_STATE = CASE
WHEN ID_STATE IN (2,3,8) THEN 9
WHEN ID_STATE = 7 THEN 8
ELSE 0
END,
ID_PRESI = CASE
WHEN ID_PRESI IN (3,4) THEN NULL
ELSE 0
END
GO
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
153 次 |
| 最近记录: |