BULK INSERT TEMP TABLE sql server

时间:2011-05-09 12:00:04

标签: sql-server-2005 tsql insert bulkinsert large-data-volumes

可以使用(BULK INSERT语句)将数据从临时表插入数据库中的另一个表吗?

如何使用此操作,因为它有一个超过100,000条记录的临时表?

由于

(sql server 2005)

2 个答案:

答案 0 :(得分:2)

不,BULK INSERT只来自一个文件。您可以将表转储到文件中,然后使用批量插入将其重新导入。

是否有理由不能直接从临时表插入目标表?即INSERT INTO targetTable SELECT * FROM #tempTable

答案 1 :(得分:0)

只有100,000条记录的临时表应该很快插入到另一个表中,当然不会超时。如果您有超时,则会遇到其他问题。首先检查你是否有运行游标或循环的触发器,检查你的import语句是否有任何相关的子查询会导致它运行缓慢并检查数据是否被索引(你可以索引临时表但不能表varaibles)。看看你的执行计划,看看bottelneck在哪里。

另一种选择是一次批量运行1000 - 10,000(您可能需要尝试查看可以获得的批量大小。)