最快导入SQL Server海量数据的方法
最近在做项目的时候需要实现对海量数据的导入问题,面对这么多的数据我们要怎样快速的导入呢?下面我们就一起去看看最快导入SQL Server海量数据的方法。
如果使用普通的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 = '\n',
TABLOCK
)
alter database taxi
set RECOVERY FULL
这个语句将从e:\out.txt导出数据文件到数据库taxi的detail表中。
上文就是小编介绍最快导入SQL Server海量数据的方法,看完后是不是觉得很实用呢?小伙伴们不妨一起去试试吧。
相关推荐
-
MSSQL数据库之聚合函数怎么使用
MSSQL数据库之聚合函数怎么使用,关于这个问题你了解多少,技术小编在这里分享了一些资料,希望能在日后帮助你们,有需要的朋友随时都可以查看,绝对不会让你失望的。
-
MSSQL中merge函数使用过程
这篇文章主要让你们深入学习下MSSQL中merge函数使用过程,Merge是一个神奇的DML关键字,有着很神奇的用处,如果你要了解清楚,不妨看看技术小编为你准备了怎样的知识点吧!
-
MSSQL数据库中怎么运用replace函数
爱站技术频道小编在这里提供的MSSQL数据库中怎么运用replace函数内容,如果你有兴趣了解的话,一定不能错过了,本文对replace函数作出了详细的解析,接下来就一起来了解了解。
-
MSSQL数据库函数中的NewID()和Rand()
给广大网友们来说一说MSSQL数据库函数中的NewID()和Rand()有什么不同,这两个函数是经常会用到的,如果不小心就会使用出错,为了避免问题,小编将资料都给你们准备好了。
-
MSSQL数据库中查询排名情况实例代码
本文主要介绍的是MSSQL数据库中查询排名情况内容,在这篇文章中,技术小编提供了相关的实例代码给你们,需要用到的话,可以直接复制粘贴,接下来就让我们来看一看吧!