实现SQLServer海量数据导入的好用方案

以下的文章主要向大家讲解的是SQL Server海量数据导入的最快***用的实际操作方法,在实际操作中尼是否遇到过SQL Server海量数据导入这一要求,以下的文章主要向大家讲述的是实现其实际操作的具体方案。

成都网站建设哪家好,找成都创新互联!专注于网页设计、成都网站建设公司、微信开发、微信小程序开发、集团成都企业网站建设等服务项目。核心团队均拥有互联网行业多年经验,服务众多知名企业客户;涵盖的客户类型包括:成都隧道混凝土搅拌车等众多领域,积累了大量丰富的经验,同时也获得了客户的一致赞美!

这篇论坛文章(赛迪网技术社区)详细讲解了SQL Server海量数据导入的最快方法,更多内容请参考下文:

最近做某项目的数据库分析,要实现对海量数据的导入问题,就是最多把200万条数据一次导入sqlserver中,如果使用普通的insert语句进行写出的话,恐怕没个把小时完不成任务,先是考虑使用bcp,但这是基于命令行的,对用户来说友好性太差,实际不大可能使用;***决定使用BULK INSERT语句实现。

BULK INSERT也可以实现大数据量的导入,而且可以通过编程实现,界面可以做的非常友好,它的速度也很高:导入100万条数据不到20秒中,在速度上恐怕无出其右者。

但是使用这种方式也有它的几个缺点:

1.需要独占接受数据的表

2.会产生大量的日志

3.从中取数据的文件有格式限制

但相对于它的速度来说,这些缺点都是可以克服的,而且你如果愿意牺牲一点速度的话,还可以做更精确的控制,甚至可以控制每一行的插入。

对与产生占用大量空间的日志的情况,我们可以采取在导入前动态更改数据库的日志方式为大容量日志记录恢复模式,这样就不会记录日志了,导入结束后再恢复原来的数据库日志记录方式。

具体的一个语句我们可以这样写:

 
 
 
  1. alter database taxi
  2. set RECOVERY BULK_LOGGED
  3. BULK INSERT taxi..detail FROM 'e:\out.txt'
  4. WITH (
  5. ?? DATAFILETYPE = 'char',
  6. ?? FIELDTERMINATOR = ',',
  7. ?? ROWTERMINATOR = '\n',
  8. ?TABLOCK
  9. )
  10. alter database taxi
  11. set RECOVERY FULL

这个语句将从e:\out.txt导出数据文件到数据库taxi的detail表中。

以上的相关内容就是对讲解SQL Server海量数据导入的最快方法的介绍,望你能有所收获。

网站栏目:实现SQLServer海量数据导入的好用方案
文章URL:http://www.shufengxianlan.com/qtweb/news34/220984.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联