我正在使用SqlServer 2008R2,我需要以非常快的速度加载9亿条记录。
VARCHAR(20)
VARCHAR(10)
VARCHAR(50)
VARCHAR(15)
VARCHAR(20)
VARCHAR(10)
VARCHAR(4)
VARCHAR(3)
VARCHAR(10)
日期时间
日期时间
日期时间
日期时间
十进制(19,2)
十进制(19,2)
十进制(19,2)
十进制(19,2)
十进制(19,2)
十进制(19,2)
十进制(19,2)
十进制(19,2)
十进制(19,2)
(I具有各种格式,有的可达数据的100列 - 在数据的总221GB加载)
SqlServer批量插入逻辑
的问题是,该数据来自一个古老的OS390,如果日期为null,他们将它发送的文本文件中像99999999
什么是将这一数据为空的最佳方法?在Oracle中,您可以将逻辑放入格式中,您可以使用BCP来实现吗?或者是使用SSIS同时加载和转换的最快方法?或与触发器或东西?
作为文本加载,然后在数据库中转换我不认为是由于数据量的选项。
你想加载这个速度有多快?我只用一个简单的设置(8个线程使用SqlBulkCopy流入堆表)以430GB /小时的速度加载数据,所以您可能实际上得到了一个临时表。 – usr 2013-03-26 14:15:03
我们必须在15分钟内加载221GB。生产服务器将有至少180GB RAM,32核心,快速磁盘等。暂存表的问题将是将数据插入到最终表中的时间。以及需要临时磁盘空间来存储两个数据副本。你能否提供更多关于你如何加载你所做的内容的细节? – Luke 2013-03-26 15:21:42