【发布时间】:2014-05-20 12:05:54
【问题描述】:
我想对表执行更新查询并将 2 列设置为随机值。这是一个例子:
Update Network_Info_Detail set ART = (rand()*4000)+2, NRT = (rand()*1000)+2
很明显,所有行都将使用随机生成的相同值进行更新,因此我需要创建一个循环来为每一行生成一个随机值。
DECLARE @size integer
SET @size = (SELECT Count(*) from Network_Info_Detail)
While @size > 1
BEGIN
Update top (@size) Network_Info_Detail set ART = (rand()*4000)+2, NRT = (rand()*1000)+2
SET @size = @size - 1
END
此脚本更新具有不同数字的行,但速度很慢。有没有办法提高执行时间?
【问题讨论】:
-
添加了 sql-server 标记,因为语法(和问题)显然是 SQL Server。
标签: sql sql-server performance random sql-update