如何在短时间内将大量记录插入数据库?


8

我必须使用最快的方法一次将一堆记录(500,000)插入数据库。我尝试一次插入1,700条记录,但花了二十分钟!!我正在使用SQL-SERVERC#

尽管下表对快速插入技术无济于事,但我还是决定将其链接起来,以便您更好地了解我需要插入的字段数(将其复制大约500K)。

田野

Answers:


12

有几种选择。这是我想到的主要内容。

SSIS -SQL Server集成服务:这是SQL Server ETL工具,您可以将数据从几乎任何源移动到几乎任何目标,而且速度可能很快。

BCP-批量复制程序:这是SQL Server附带的命令行工具。将文本文件移动到SQL Server上非常好,或者您可以从一个SQL Server导出为本机格式,然后使用相同格式将其导入另一SQL Server。BCP也非常快,但比SSIS受到更多限制。

INSERT INTO表名SELECT字段列表FROM othertable:这假设您正在从同一服务器上的一个SQL表移动到另一个SQL表。这是最快的,但要达到50万行,您正在看一笔相当大的交易,或者必须像您所说的那样将其拆分。

OPENROWSET:这是一个SQL Server函数,可让您从各种格式将数据提取到表中。它也应该相当快,但是我没有做太多工作。

一般说明:您的主键是mbr_id。如果这是存储在源数据中的内容(而不是作为标识列),那么如果源数据按mbr_id顺序插入,插入将更快。



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.