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

时间:2024-01-16 06:23:25 

最近做某项目的数据库分析,要实现对海量数据的导入问题,就是最多把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表中。

标签:SQL,Server,海量数据导入
0
投稿

猜你喜欢

  • python实现简单的井字棋小游戏

    2022-06-30 10:48:05
  • python如何定义带参数的装饰器

    2022-01-07 04:18:30
  • Python+matplotlib实现折线图的美化

    2023-09-05 20:03:18
  • 让SQL Server数据库自动执行管理任务(一)

    2009-03-20 10:35:00
  • Dreamweaver MX新功能试用:连续空格

    2008-01-06 21:03:00
  • Python基于dom操作xml数据的方法示例

    2023-02-15 10:18:30
  • python得到电脑的开机时间方法

    2021-01-05 08:00:05
  • 打造设计你自己的字体 Ⅲ

    2008-03-14 07:52:00
  • python迷宫问题深度优先遍历实例

    2023-10-16 18:54:06
  • linux 后台日志 mysql 错误异常的解释(推荐)

    2024-01-26 06:01:42
  • Python实现PS图像调整颜色梯度效果示例

    2021-02-05 03:11:20
  • 利用sys.sysprocesses检查SqlServer的阻塞和死锁

    2011-11-03 17:24:11
  • Python 实现简单的shell sed替换功能(实例讲解)

    2023-03-03 09:48:52
  • 使用Anaconda创建Pytorch虚拟环境的排坑详细教程

    2021-06-14 09:01:03
  • 浅谈Python数据处理csv的应用小结

    2021-06-10 01:40:41
  • python 循环while和for in简单实例

    2021-12-11 03:16:48
  • Python OpenCV中的resize()函数的使用

    2022-03-23 23:11:56
  • Numpy对于NaN值的判断方法

    2022-12-15 15:08:21
  • 一段ASP的HTTP_REFERER判断代码

    2011-03-25 10:41:00
  • Jupyter notebook命令和编辑模式常用快捷键汇总

    2023-05-10 14:14:15
  • asp之家 网络编程 m.aspxhome.com