|
讲解SQL Server海量数据导入的最快方法
( 2008/7/10 16:20 )
这篇论坛文章(赛迪网技术社区)详细讲解了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表中。
|
·技巧实例:如何在.NET中访问MySQL数据库 (9-25) ·有关PB/Sybase开发过程中数据库转移介绍 (9-25) ·SQL Server 2008数据库中如何使用表值参数 (9-25) ·甲骨文推“数据库机器” 首涉电脑硬件销售 (9-25) ·入门级的ORACLE数据库备份与数据库还原 (9-24) 热议文章·高端的口号低端的招标 电信招标有类联通 (9-21) 评:消费者终端是一个很关键的因素,如果电信的CDMA手机不能突破以前联同的模式的话,... ·评论:如何击中中移动的软肋 (9-11) ·国资委专家细述电信失衡两诱因 (8-27) ·诺基亚中国面临四大挑战 (8-27) ·现在部署WiMAX还是等待LTE? (8-27) ·左迅生感叹网通品牌会消失 称合并后不会裁员 (8-26) ·联通网通重组9月16日表决 员工9月前不转网 (8-15) ·技巧实例:如何在.NET中访问MySQL数据库 (9-25) ·资料分享:Java开发中该注意的一些东西 (9-25) ·移动智能网中No.7信令的应用 (9-25) ·马力克:电网建设超前 服务经济社会 (9-25) ·CDMA实体认证机制分析 (9-25) ·基于正交调制FSK/ASK光标记交换技术 (9-25) |
|||||||||||||||
|