SQL Server 2008使用链接服务器访问Oracle 10g,查询速度超级慢的解决方案
2014-06-15 19:13
1596 查看
问题描述
在SQL Server 2008中建立链接Oracle数据库的链接服务器,建好之后,进行查询测试:select
viid,filename
from DBLink..GSW.TVCHANNEL
where CHANNELNO='123456789'
表中数据量小的时候查询也挺快的,但是查询一个有200多万数据量的表的时候查询时间为2分多钟,语句如下:
select
vid,filename
from DBLink..GSW.FILES
where
filename='1237'
在oracle中查询的时候不到1秒就出来了,使用上面语句查询的时候就超级慢。
问题的解决方案
感觉上面的语句在查询的时候可能涉及到sql server与oracle之间的各字段数据类型的转换,因此查询速度很慢,因此将上面的查询方式修改为OPENQUERY的方式,语句:SELECT
* FROM
OPENQUERY(DBLink,'select vid,filename from FILESwhere filename=''1237''')
查询时间不到1秒,问题解决。
建议:以后在使用链接服务器进行查询的时候最好使用OPENQUERY的方式。
相关文章推荐
- SQL SERVER 2008 通过链接服务器(Linked Server)访问 ORACLE 9i /10g的方法 (亲测)
- 阿里巴巴 静态数据项目 (SQL SERVER 通过链接服务器访问ORACLE 存储过程 )
- 如何通过 SQL Server 链接服务器和分布式查询使用 Excel
- SQL SERVER 2005 通过链接服务器(Linked Server)访问 ORACLE 9i 的方法
- SQL SERVER中使用链接服务器访问Oralce数据库
- Oracle 10g 透明网关访问SQL Server 2008
- SQL SERVER 通过链接服务器访问ORACLE 包中的存储过程 带参数
- 在oracle中通过链接服务器(dblink)访问sql server
- 通过SQL Server 2008 访问Oracle 10g
- SQL SERVER 2005 通过链接服务器 访问 ORACLE 9i 的快速设定方法
- 通过SQL Server 2008 访问Oracle 10g
- sql server中使用链接服务器访问oracle数据库
- sql server中使用链接服务器访问oracle数据库
- sql server 2008链接服务器的访问接口缺少 "Microsoft.Ace.OleDb.12.0" 接口 怎么办?
- 如何通过 SQL Server 链接服务器和分布式查询使用 Excel
- 如何通过 SQL Server 链接服务器和分布式查询使用 Excel
- 关于SQL SERVER 2008 X64版本报错:消息 7302,级别 16,无法创建链接服务器 "(null)" 的 OLE DB 访问接口 "Microsoft.ACE.OLEDB.12.0" 的实例。
- SQL SERVER 2005 通过链接服务器 访问 ORACLE 9i 的快速设定方法
- SQL SERVER 2008 64位 创建链接服务器 连接ORACLE
- sql server中使用链接服务器访问oracle数据库