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

从SQLSERVER数据库中查询数据写入oracle时速度为什么那么慢?解决办法

2012-02-26 
从SQLSERVER数据库中查询数据写入oracle时速度为什么那么慢?我使用sp_addlinkedserver的方式连接到oracle

从SQLSERVER数据库中查询数据写入oracle时速度为什么那么慢?
我使用sp_addlinkedserver的方式连接到oracle数据库的,然后使用sp_addlinkedsrvlogin的方式登录的,当我用insert into oracle.table select col from table时发现写入数据的速度相当的慢,我在sql中查询数据的速度才0.001S,可是查出来的数据写入oracle数据库时,速度达到6分钟才执行完?请问这是为什么?有没有好的优化方法的?

[解决办法]
慢肯定是有等待事件,可以看一下执行inser into...的进程ID的lastwaittype和waittype是什么?

SQL code
select * from master.dbo.sysprocesseswhere spid=[进程ID]
[解决办法]
1.可检查一下 insert into oracle.table select col from table 这句,
sql server的字段类型是否与oracle的字段有不兼容的, 设法调整为相同类型.

2.也可能在写入期间,oracle的目标表被锁定,所以要等待期锁定完成.

3.试试这个,不一定可行, insert into oracle.table(tablock) select col from table 

热点排行