从一个表到另一台sql服务器的插入性能

时间:2019-06-27 12:14:58

标签: sql-server performance sql-server-2012 bulkinsert

请帮助解决以下性能问题。

我有一个具有9.2亿行(表大小为67GB)的表A,并且表A没有任何索引或键。

现在,我想将整个表A复制到表B,该表位于同一实例中的其他数据库中,我按照以下方式完成此任务。

选项1:

我使用了select * into db..table B,这需要70分钟的时间。

选项2:

尝试使用“ 使用select语句插入”以及TABLOCK来实现最小限度的日志记录(但是我的两个数据库都处于简单的恢复模型中),并且还与选项1一样花费了时间。

选项3:

打算一次使用批量插入1000万次。

表A和表B bot具有任何索引,键。

查询:

insert into TableB with(TABLOCK)
select 
AUTO_POLICY_NUMBER,
HOME_POLICY_NUMBER,
TRANSACTION_MM,
TRANSACTION_DD,
TRANSACTION_YY,
ANTICIPATION_MM,
ANTICIPATION_DD,
ANTICIPATION_YY,
STATUS_MM     ,
STATUS_DD     ,
STATUS_YY     ,
PRESENT_STATUS,
PRIOR_STATUS  ,
LoadDate              ,
RecordId              ,
AuditTableLoadId      ,
CopybookId   
 From TableA

你们中的任何人是否可以建议其他选择,以使我的数据加载流畅(时间更少)。

注意:-我的服务器具有16GB的RAM,并且具有Intel(R)Xeon(R)CPU E5-2670 0 @ 2.60GHz,2593 Mhz,2个Core,2个逻辑处理器。

谢谢!

0 个答案:

没有答案