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

猜你喜欢

  • 客齐集社区头像显示效果代码

    2008-04-03 13:15:00
  • show一下刚做的系统登录界面

    2008-09-13 19:13:00
  • python用quad、dblquad实现一维二维积分的实例详解

    2022-02-17 05:32:51
  • window.close(); 关闭浏览器窗口js代码的总结介绍

    2024-04-19 10:54:56
  • 梅尔频率倒谱系数(mfcc)及Python实现

    2021-08-11 11:06:39
  • 分享几个字体设计

    2007-10-10 13:53:00
  • 通过FSO进行页面计数

    2008-11-27 16:02:00
  • ASP读取XML实例 优酷专辑采集程序 雷锋版

    2011-03-08 11:05:00
  • Node.js中console.log()输出彩色字体的方法示例

    2024-05-02 17:37:54
  • CSS Sprites 样式生成工具 2.0下载

    2009-05-13 12:41:00
  • javascript数组取交集

    2010-07-15 12:14:00
  • javascript变量提升和闭包理解

    2024-04-10 16:17:06
  • keras和tensorflow使用fit_generator 批次训练操作

    2023-04-09 04:55:59
  • Python 识别12306图片验证码物品的实现示例

    2021-04-03 22:17:24
  • 一文详解typeScript的extends关键字

    2024-02-24 11:30:02
  • MySQL触发器的使用场景及方法实例

    2024-01-23 04:45:12
  • python概率计算器实例分析

    2021-01-16 05:34:52
  • Python决策树分类算法学习

    2023-01-28 17:27:05
  • 批量获取及验证HTTP代理的Python脚本

    2023-11-19 12:10:34
  • Bottle部署web服务及postman接口的方法

    2022-06-14 23:38:53
  • asp之家 网络编程 m.aspxhome.com