温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

SQL Server导入大量数据的方法

发布时间:2021-08-19 09:35:19 来源:亿速云 阅读:190 作者:chen 栏目:数据库

本篇内容主要讲解“SQL Server导入大量数据的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“SQL Server导入大量数据的方法”吧!

要实现对海量数据的导入问题,把几百万条数据一次导入sqlserver中,如果使用普通的insert语句进行写出的话,恐怕没几个小时完无法完成,先是考虑使用bcp,但这是基于命令行的,对用户来说友好性太差,实际不大可能使用;最后决定使用BULK INSERT语句实现,BULK INSERT也可以实现大数据量的导入,而且可以通过实现,界面可以做的非常友好,它的速度也很高:导入100万条数据不到20秒中,这个速度确实令人惊叹。

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

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

  2.会产生大量的日志

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

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

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

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

  alter database taxi

  set RECOVERY BULK_LOGGED

  BULK INSERT taxi..detail FROM e:out.txt

  WITH (

  ?? DATAFILETYPE = char,

  ?? FIELDTERMINATOR = ,,

  ?? ROWTERMINATOR =
,

  ?TABLOCK

  )

  alter database taxi

  set RECOVERY FULL

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

到此,相信大家对“SQL Server导入大量数据的方法”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI