首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

access导入SQL Server,慢死,该怎么处理

2012-09-29 
access导入SQL Server,慢死有四个表,从另一台电脑的SQL Server导入到access,也是很快的(客户操作的,我不知

access导入SQL Server,慢死
有四个表,从另一台电脑的SQL Server导入到access,也是很快的(客户操作的,我不知道具体时间,但不至于无法忍受)。
同样的数据,我从access再导入到我的电脑的SQL Server

我是用select * from 这样把数据查出来,(几乎瞬间查出来),再通过拼SQL语句,一条一条的insert进去,
刚开始的时候,还能瞬间一千来行,越到后来越慢,现在1秒都没有一行了,吃了个饭回来,才加了500来行。SQL Server 2005 进程持续占用CPU25%,别的进程几乎是0。

为了插的时候方便,暂时把表的ID列的主键属于也去掉了。

到底是什么原因呢?

[解决办法]
不要在程序端循环insert,在SQL Server端做循环insert

CREATE TABLE #tempTable([Item ID] [bigint], [Item Name] nvarchar(30)) 
DECLARE @counter int 
SET @counter = 1 
WHILE (@counter < 100000) 
BEGIN 
INSERT INTO #tempTable VALUES (@counter, 'Hammer') 
SET @counter = @counter + 1 
END 
SELECT * FROM #tempTable 
DROP TABLE #tempTable
[解决办法]
可以使用bcp ,backup insert 等批量插入命令

热点排行