gpt4 book ai didi

sql-server - SQL Server 将大量行插入到其中包含默认值和标识列的表中

转载 作者:行者123 更新时间:2023-12-03 01:05:00 26 4
gpt4 key购买 nike

我需要在 2 列的表格中插入大约 6400000 行

CREATE TABLE [DBName].[DBO].[BigList] 
(
[All_ID] [int] identity(1,1) NOT NULL,
[Is_It_Occupied] [int] default(0) not null
)

我今天使用以下代码,这需要很长的时间,大约 100 分钟。

    SET @NumberOfRecordsToInsert = 6400000;
WHILE (@NumberOfRecordsToInsert > 0)
BEGIN
INSERT [DBName].[DBO].[BigList] DEFAULT VALUES;
SET @NumberOfRecordsToInsert = @NumberOfRecordsToInsert - 1
END

有没有人有更好的方法来做到这一点?

最佳答案

从某处获取 6400000 行并将它们一次性插入。

insert into BigList(Is_It_Occupied)
select top(6400000) 0
from sys.all_objects as o1
cross join sys.all_objects as o2
cross join sys.all_objects as o3

对不同解决方案在我的计算机上花费的时间进行了一些测试。

Solution                                           Seconds
-------------------------------------------------- -----------
Mikael Eriksson 13
Naresh 832
Dd2 25
TToni 92
Milica Medic 90
marc_s 2239

关于sql-server - SQL Server 将大量行插入到其中包含默认值和标识列的表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20312152/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com