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

数据库 SQL Server
我们今天主要向大家讲述的是实现SQL Server海量数据导入的最快最好用的实际操作方法,以下就是文章的主要内容的详细解析。

以下的文章主要向大家讲解的是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海量数据导入的最快方法的介绍,望你能有所收获。

【编辑推荐】

  1. SQL Server数据整理的操作方案描述
  2. SQL Server 易混淆的一些数据类型有哪些?
  3. SQL Server 日期操作全接触,嘻嘻
  4. 对SQL Server 2005 BI的描述
  5. SQL server DateDiff 函数语法中的命名参数
责任编辑:佚名 来源: 广州日报
相关推荐

2010-07-16 10:12:21

SQL Server导

2011-04-06 16:05:29

SQL Server数据导入

2010-06-28 14:41:47

SQL Server海

2010-07-07 16:46:52

SQL Server日

2010-07-01 14:23:25

SQL Server查

2010-07-15 13:09:07

SQL Server成

2010-06-17 10:11:29

SQL Server文

2010-07-22 14:16:59

SQL Server

2010-07-26 09:55:55

SQL Server重

2010-07-23 09:25:50

SQL Server导

2010-06-17 17:11:03

SQL Server

2010-07-08 11:15:37

SQL Server数

2010-05-27 09:50:18

MySQL导入sql脚

2010-07-26 08:49:58

SQL Server游

2010-07-09 17:16:53

SQL Server数

2010-07-05 09:14:37

SQL Server数

2010-06-18 13:52:24

SQL Server查

2010-06-24 09:47:47

SQL Server

2010-11-09 17:19:49

SQL Server导

2010-10-20 14:56:18

点赞
收藏

51CTO技术栈公众号