从 Excel 导入到 SQL 的大数据效率问题
导入数据量:10W。
环境:Sql server 2008 R2
导入用时 29分钟。
每条执行语句:
USE test
GO
-->生成表tb
if object_id('tb') is not null
drop table tb
Go
Create table tb([Type] nvarchar(1))
Insert into tb
Select N'A'
Union all Select N'B'
INSERT INTO TB
SELECT * FROM OPENROWSET('MICROSOFT.ACE.OLEDB.12.0','EXCEL 12.0;HDR=YES;IMEX=2;DATABASE=H:\test.xls',[Sheet1$]) AS t
WHERE NOT EXISTS(SELECT 1 FROM tb AS x
WHERE x.Type=t.TYPE
)
/*
(4 個資料列受到影響)
*/
SELECT * FROM tb
/*
Type
----
A
B
C
D
E
F
*/
io无压力的话,预计每10000数据插入需1s,删除看目标表数据量,但也就几秒能够搞定。1分钟处理几十万元没问题