我正在为我的 C#/MVC 应用程序寻找一种将记录插入 SQL 服务器的有效方法。有谁知道最好的方法是什么?
通常我只是在其中完成了一个while循环和插入语句,但是我又没有太多的记录要处理。我需要插入大约 50 万行,并且使用 while 循环以每分钟 300 行的速度插入,我会在这里一整天!
我正在做的是遍历一个大的保存表,并使用它的行在不同的表中创建记录。我已经为新表所必需的查找数据设置了一些函数,这无疑会增加工作量。
所以这是我的查询。对于大量数据来说效率极低!
Declare @HoldingID int
Set @HoldingID = (Select min(HoldingID) From HoldingTable)
While @JourneyHoldingID IS NOT NULL
Begin
Insert Into Journeys (DepartureID, ArrivalID, ProviderID, JourneyNumber, Active)
Select
dbo.GetHubIDFromName(StartHubName),
dbo.GetHubIDFromName(EndHubName),
dbo.GetBusIDFromName(CompanyName),
JourneyNo, 1
From Holding
Where HoldingID = @HoldingID
Set @HoldingID = (Select MIN(HoldingID) From Holding Where HoldingID > @HoldingID)
End
我听说过基于集合的方法——有什么方法可以解决上述问题吗?