sqlserver 链接服务器 连接db2 查询速度慢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sqlserver 链接服务器 连接db2 查询速度慢相关的知识,希望对你有一定的参考价值。

sqlserver 2008 建立链接服务器,数据源为db2,连接成功后在sqlserver上使用sql语句查询db2数据,当带条件查询数据量较少的表时,查询结果很快就出来了,但是要查询数据量庞大的表时,往往需要等待好几分钟才出结果。使用db2客户端查询相同语句速度却很快。在db2中已经建立了相关的索引。咨询各位大神,这会是什么问题?会不会是因为是sqlserver访问不了db2的索引?需要怎么样设置才能解决?

链接服务器原本效率就不高吧,你说的数据量庞大,到底是多大?显然你通过链接服务器访问db2,肯定是比直接访问db2慢得多追问

表字段类型都是字符串和小数型,没有包含图片等二进制文件数据,表数据空间占了1点多G。现在需要跨数据库关联查询,而只有sqlserver能同时连接两个不同类型的数据库,db2做不到,所以不得不使用SQLserver来访问db2。

追答

表的大小都是按数据条数计算的,百万级还是千万级还是更大

追问

四百多万条数据。

追答

四百万不算大数据,你可以试试只查询db2,先不跟sqlserver联合查询

参考技术A 要确定是查询数据库慢 还是程序处理数据慢追问

是查询数据库慢,就是在sqlserver用sql语句查询。

追答

那sql语句直接查询 并把要显示的数据都查询出来, 看sqlserver客户端显示的查询时间是不是也慢,不是点击查询后就显示的那几条

追问

如果db2库表里只有几百条数据的话,带条件查询速度还算快,但是如果库表里有几百万条数据的话,不管带不带条件查询都很慢了,通常查一次要两分多钟。在db2中已经建好索引的了。

sqlserver链接服务器实现远程联库查询

1、新建链接服务器

使用SQL Server Management Studio

右键新建链接服务器
在“常规”页面下输入链接服务器名,选择服务器类型为SQL Server(这里看个人需要)。
在“安全性”页面下选择“使用此安全上下文进行连接”,然后再输入远程数据库服务的账号和密码;

2、sql语句调用

示例

select * from [链接服务器名称].[链接数据库名称].[dbo].[链接数据库表名];
-- 实际上只是表名的书写方式发生了变化

以上是关于sqlserver 链接服务器 连接db2 查询速度慢的主要内容,如果未能解决你的问题,请参考以下文章

如何使用SQLSERVER链接服务器访问数据库

如何使用 OpenQuery 在 SQL Server 中创建别名 (IBM DB2)

DB2数据库显示未启动,但是可以连接到

db2 怎样查一个sql连接执行过的所有语句?

sql server怎么设置链接服务器

如何查询db2数据库表是不是被锁