讲解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
投稿

猜你喜欢

  • pytorch实践线性模型3d详解

    2023-04-01 22:58:29
  • 百分百弹窗

    2013-08-07 07:41:06
  • Python利用Selenium实现自动观看学习通视频

    2022-03-12 16:32:03
  • Python中处理Session和Cookie的方法

    2023-09-09 00:51:18
  • 解决pyCharm中 module 调用失败的问题

    2022-11-27 23:21:19
  • python利用不到一百行代码实现一个小siri

    2021-07-23 13:46:13
  • PHP中集成PayPal标准支付的实现方法分享

    2023-09-06 09:11:22
  • Python的Flask框架中Flask-Admin库的简单入门指引

    2021-11-06 03:30:19
  • numpy矩阵数值太多不能全部显示的解决

    2023-09-09 13:55:41
  • ASP的数据命名有什么规则吗?

    2009-10-28 18:23:00
  • python实现嵌套列表平铺的两种方法

    2021-06-12 07:20:02
  • Python 编程操作连载之字符串,列表,字典和集合处理

    2021-08-16 11:27:54
  • 详解Mysql case then使用

    2024-01-25 05:38:19
  • Python多线程结合队列下载百度音乐的方法

    2022-12-01 11:43:18
  • Python系统公网私网流量监控实现流程

    2022-05-16 07:55:39
  • 《CSS禅意花园》学习笔记

    2008-10-20 12:43:00
  • Python中22个万用公式的小结

    2022-12-15 21:06:38
  • python 利用opencv实现图像网络传输

    2023-05-27 12:52:16
  • Javascript中的函数声明与函数表达式(奇技淫巧)

    2024-04-23 09:08:43
  • MySQL 8.0.12的安装与卸载教程详解

    2024-01-25 23:36:58
  • asp之家 网络编程 m.aspxhome.com