这篇论坛文章详细讲解了SQL Server海量数据导入的最快方法,更多内容请参考下文:
最近做某项目的数据库分析,要实现对海量数据的导入问题,就是最多把200万条数据一次导入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 = '\n',
?TABLOCK
)
alter database taxi
set RECOVERY FULL
这个语句将从e:\out.txt导出数据文件到数据库taxi的detail表中。
原文地址:http://www.evget.com/zh-CN/Info/ReadInfo.aspx?id=9126
分享到:
相关推荐
基于OPENDATASOURCE函数的SQL Server数据库海量数据的快速导入导出方法
SQL Server 2005 数据导入详解
SQLServer 数据导入到 Oracle1 数据库中。 资源中有操作详细过程,有详图!
SQLServer 数据 导入导出 BCP详解。。。。。。。。。
论坛文章(赛迪网技术社区)详细讲解了SQL Server海量数据导入的最快方法,更多内容请参考下
1.1 SQL Server Management Studio中导入 1.2 直接启动SQL Server导入和导出向导 1.3 SQLServer查询分析器使用代码导入数据 1.4 导入null值数据的说明
SQL Server数据导入SQLite工具 Convert SQL Server DB to SQLite DB
将海量数据导入到sql中将海量数据导入到sql中
在sqlserver数据库中,本例采用TOP语句分页,100W条数据为例,效率还不错,有测试的屏幕录像程序,有相关代码。
将sqlserver数据导入MySql中的工具,里面附带说明
精简版SQL Server 2005 数据库导出、导入办法 应该有用~
将mysql数据库转换为sql server的数据库,或者将sql server数据库转换...这里介绍一个使用sql的mmc的方法 ,将sql server的数据转化为mysql的数据库,将源和目的反之,就可以将mysql的数据库转化为sql server的数据库。
SQLSERVER_后台导入二进制数据方法
bcp是微软SQLServer数据库系统的命令行工具,用于进行大数据量的导入导出,该工具简单实用、效率极高,本文总结了bcp命令操作的各种设置开关功能含义和使用方法,可以为需要的用户提供有益帮助。
使用表格的形式,编写数据,并将全部数据一次导入sqlserver中
将Excel中的数据导入到SqlServer中的实现方法总结。还有一个简单的例子
文章主要讲述的是4种方法实现SQL Server导入数 据,软件项目实际开发的实际操作过程中,数据导这一步骤一直是项目困扰开发人员的问题。其实,在SQL Server中集成了很多成批SQL Server导入数据的方法。
SQL SERVER 数据类型详解
Sqlserver大数据量插入速度慢或丢失数据的解决方法 Sqlserver大数据量插入速度慢或丢失数据的解决方法
sqlserver 2008 数据操作 详解sqlserver 2008 数据操作 详解sqlserver 2008 数据操作 详解