一下插入4W条数据到数据库,怎么样的效率最高 ?
做B/S的时候啊
一下插入4W条数据到数据库,怎么样的效率最高
------解决方案--------------------使用bulk insert
如果原表记录数超级庞大就先删除索引再插入,插入完成后在建回原来的索引
这种情况是插入操作非常频繁才这样做
------解决方案--------------------insert tbName2(col, ...)
select top 40000 col, ... from tbName1
------解决方案--------------------用bcp
1.以竖线形式分隔各字段
EXEC master..xp_cmdshell 'bcp "select top 40000 col1,col2,col..,coln from database.dbo.table " queryout e:\test.txt -c -U "sa " -P "mima " -t "| " '
2.根据文档导入数据
EXEC master..xp_cmdshell 'bcp databse.dbo.table in e:\test.txt -c -q -U "sa " -P "mima " -t "| " '
3.在第二步骤之前先检查索引,如包含索引对表的影响会较大的情况下,drop index indexname ON dbo.table,导入之后再create index indexname ON dbo.table(col)
------解决方案--------------------或用
BULK INSERT dbo.table
FROM 'e:\test.tbl '
WITH
(
FIELDTERMINATOR = ' | ',
ROWTERMINATOR = '\n '
)
在索引对插入影响较小的情况下四万条记录marco08(天道酬勤)的最快。