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 等批量插入命令