讲解SQL Server海量数据导入的最快方法

作者:Dempsey 来源:赛迪网 时间:2008-12-05 16:21:00 

这篇论坛文章(赛迪网技术社区)详细讲解了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表中。

标签:
0
投稿

猜你喜欢

  • 6行的js上下滑动广告效果

    2008-11-27 12:26:00
  • 在Dreamweaver MX中应用“占位图形”

    2009-07-10 13:16:00
  • 讲解数据库管理系统必须提供的基本服务

    2009-01-04 14:33:00
  • 你是真正的用户体验设计者吗? Ⅴ

    2008-04-19 18:32:00
  • MySQL 5数据库连接超时问题

    2009-12-29 10:23:00
  • ASP字符串16进制互转

    2008-06-24 12:28:00
  • asp两组字符串数据比较合并相同数据

    2011-04-14 11:08:00
  • ASP在线升级类文件源码

    2008-10-10 13:09:00
  • aspJpeg图片水印有杂点的完美解决方法

    2011-02-05 10:55:00
  • jquery 使用点滴函数代码

    2011-05-21 16:12:00
  • 在opera里css出现渲染问题

    2009-01-15 12:19:00
  • 配置SQL Server文件组对应不同的RAID系统

    2009-01-04 14:31:00
  • [翻译]标记语言和样式手册 Chapter 7 锚点

    2008-01-28 14:01:00
  • 如何使用AspUpload2.0组件?

    2010-06-05 12:33:00
  • 一组常用的弹出窗口用法总结

    2007-10-08 13:04:00
  • 关于JS中的事件--Event对象

    2008-03-16 14:22:00
  • ROW_NUMBER SQL Server 2005的LIMIT功能实现(ROW_NUMBER()排序函数)

    2012-06-06 20:11:21
  • 动态载入树 (ASP+数据库)

    2010-05-27 12:20:00
  • 动态载入asp树源码

    2007-09-06 19:34:00
  • Sql Server 2012 转换函数的比较(Cast、Convert和Parse)

    2012-08-21 10:21:40
  • asp之家 网络编程 m.aspxhome.com