首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ms-sql中一次插入超过50000行的表...?

如何在ms-sql中一次插入超过50000行的表...?
EN

Stack Overflow用户
提问于 2016-05-02 17:40:49
回答 1查看 1.7K关注 0票数 0

这是一个查询页面,由50000个queries.All组成,查询是插入查询。示例:-

代码语言:javascript
复制
CREATE TABLE states (
  id int primary key NOT NULL,
  name varchar(30) NOT NULL,
  country_id int NOT NULL ,  
) 

INSERT INTO states (id, name, country_id) VALUES
(1, 'Andaman and Nicobar Islands', 101),
(2, 'Andhra Pradesh', 101),
(3, 'Arunachal Pradesh', 101),
(4, 'Assam', 101),
(5, 'Bihar', 101),
(6, 'Chandigarh', 101),
(7, 'Chhattisgarh', 101),
so - on .....
EN

回答 1

Stack Overflow用户

发布于 2016-05-02 18:51:44

当插入大量行(实际上是1000+行)时,通常最好使用BULK INSERT。

BULK INSERT可以用作SQL语句(https://msdn.microsoft.com/en-us/library/ms188365.aspx),也可以在处理代码时使用SqlBulkCopy object (https://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy(v=vs.110).aspx

使用BULK INSERT可以减少客户端和服务器之间的乒乓量,允许使用最少的日志记录(在特定情况下,最重要的是数据库将处于大容量日志恢复模式,这会影响时间点恢复),并且通常可以提供更好的性能。

例如,BULK INSERT还允许您轻松地从CSV导入数据。您可以使用作为SQL Server的一部分安装的“导入和导出数据”向导从各种数据源导入数据。在幕后,它使用bcp,bcp使用批量插入。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36979344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档