DB2跨表空间联合查询的效率问题

系统以前将所有的表都存放在同一DMS的表空间中,表空间容器包含4块物理硬盘,系统巡检时发现硬盘IO都非常高,为了解决这一问题,我将部分经常存取且数据量比较大的表迁移到了另外的表空间中。迁移出去的表和保留在原表空间里面的表有联合查询的要求,迁移后发现比之前的查询慢了。
请问跨表空间的多表联合查询比在单一表空间查询要慢?如果是的话,是什么原理呢?这个问题搜不到解决方案,请教各位专家。
参与10

7同行回答

张东焕张东焕技术总监IBM官方授权讲师
如果表很大,可以考虑用表分区,查询时可以只针对需要的部分操作。显示全部
如果表很大,可以考虑用表分区,查询时可以只针对需要的部分操作。收起
IT咨询服务 · 2014-05-13
浏览1561
欧阳峰欧阳峰其它Freelancer
第一.你只是迁移了部分表到另外的tablespace第二.按照你说的你的sql语句其实没有任何变化,原来在同一个表空间也是关联表,现在不同表空间也是相同的sql语句关联,因此你移动到其他表空间后查看下前后的执行计划是否有变,是不是比以前更差了第三,移动到其他表空间,那么其他表空间...显示全部
第一.你只是迁移了部分表到另外的tablespace
第二.按照你说的你的sql语句其实没有任何变化,原来在同一个表空间也是关联表,现在不同表空间也是相同的sql语句关联,因此你移动到其他表空间后查看下前后的执行计划是否有变,是不是比以前更差了
第三,移动到其他表空间,那么其他表空间是否比原来的表空间更快呢?如果其他表空间只有2个物理盘那岂不是会更慢吗收起
IT其它 · 2014-05-13
浏览1488
haizdlhaizdl技术经理大连
建议收集以下信息看看:操作系统层面:iostat, sar -d数据库SQL层面:db2pddb2 get snapshot然后计算一下:命中率,平均物理读写,逻辑读写时间。然后再分析瓶颈到底在什么地方。显示全部
建议收集以下信息看看:

操作系统层面:
iostat, sar -d

数据库SQL层面:
db2pd
db2 get snapshot

然后计算一下:命中率,平均物理读写,逻辑读写时间。然后再分析瓶颈到底在什么地方。收起
银行 · 2014-05-13
浏览1494
ilovebaishikeleilovebaishikele数据库管理员北京首都公路发展集团
这个问题需要你收集多方面的信息考虑显示全部
这个问题需要你收集多方面的信息考虑收起
互联网服务 · 2014-05-13
浏览1467
feng24681feng24681技术经理广州华资软件
也要考虑下新的表空间在系统层面是否有做条带化,如果没做,并且所有数据都是在一块硬盘上,是会很慢的!显示全部
也要考虑下新的表空间在系统层面是否有做条带化,如果没做,并且所有数据都是在一块硬盘上,是会很慢的!收起
系统集成 · 2014-05-13
浏览1488
haoqingyunhaoqingyun数据库运维工程师CMBC
“跨表空间的多表联合查询比在单一表空间查询要慢?”  没这个说法。一般来讲,多个表空间还可能带来性能的提高(提高了IO并行度)。LZ 要不先自己分析一下? 例如,先看当前的执行计划是否合理,然后对比前后执行计划有什么不同,看看有没有索引忘记了之类的。...显示全部
“跨表空间的多表联合查询比在单一表空间查询要慢?”  没这个说法。一般来讲,多个表空间还可能带来性能的提高(提高了IO并行度)。
LZ 要不先自己分析一下? 例如,先看当前的执行计划是否合理,然后对比前后执行计划有什么不同,看看有没有索引忘记了之类的。收起
银行 · 2014-05-13
浏览1485
wjf870128wjf870128数据库管理员普惠金融
对于磁盘IO比较大先要看看缓冲池是否足够?另外对于热点数据最好放到IO速度快的设备上。基于你这种情况能够保证迁移出去的数据所在的物理层跟以前一样吗?另外不同表空间使用的缓冲池,page大小,物理层都不一样不能因为迁移后就不考虑为什么之前的IO那么大的问题了。...显示全部
对于磁盘IO比较大先要看看缓冲池是否足够?另外对于热点数据最好放到IO速度快的设备上。
基于你这种情况能够保证迁移出去的数据所在的物理层跟以前一样吗?
另外不同表空间使用的缓冲池,page大小,物理层都不一样不能因为迁移后就不考虑为什么之前的IO那么大的问题了。收起
互联网服务 · 2014-05-13
浏览1454

提问者

westken
软件开发工程师boc

相关问题

问题状态

  • 发布时间:2014-05-12
  • 关注会员:1 人
  • 问题浏览:5963
  • 最近回答:2014-05-13
  • X社区推广