软件开发Db2

把表建在一自定义的表空间上,比原来的表在缺省表空间USERSPACE1上,查询慢了很多,有碰到该现象的吗?

在 AIX 环境,DB2 V10.1 , 原来的表建立 sql 语句,不指定表空间,因此,这些表都是在系统缺省表空间 userspace1 上 。现在把表想放到自建立的表空间上, 因此, 把 A 表的 sql 语句复制了一份, 为 A2 表,建表 sql 语句其他部分不变, 只是加了 IN A2_01 字样, A2_01 是新创建的一个表空...显示全部

在 AIX 环境,DB2 V10.1 , 原来的表建立 sql 语句,不指定表空间,因此,这些表都是在系统缺省表空间 userspace1 上 。
现在把表想放到自建立的表空间上, 因此, 把 A 表的 sql 语句复制了一份, 为 A2 表,建表 sql 语句其他部分不变, 只是加了 IN A2_01 字样, A2_01 是新创建的一个表空间。
把 A表的数据插入到 A2 表。
作了一测试程序, 比较查询 A 表, 和 A2 表的性能, 发觉 查询A2 表的性能差了好多。该测试程序是用一 KEY 值查询 A 表, 和 A2 表, 该 KEY 值字段是 A 表 和 A2 的主键, KEY 变化,循环 10000 次。 现在查询 A2 表的 10000 次的时间, 是 查询 A 表 10000 次的时候的 5 --- 6 倍。
很是困惑,通常是为了提高性能才设定独立表空间的,而且一般 DBA 不建议应用表空间使用系统的 USERSPACE1 . 但为什么会性能反而差了呢? 还差了那么多?
有哪位大侠碰到过这种情况吗? 给提示下?
谢谢

收起
参与19

查看其它 2 个回答mytribal的回答

mytribalmytribal数据库管理员DB2

1、导出表结构,查看A2表是否索引创建失败,对比两张表的表结构信息
$db2look -d $DBNAME -e -x -l -t A2
$db2look -d $DBNAME -e -x -l -t A

2、查看A2_01表空间的缓冲池情况
$db2pd -d $DBNAME -buffer

互联网服务 · 2017-07-30
浏览1651

回答者

mytribal
数据库管理员DB2

mytribal 最近回答过的问题

回答状态

  • 发布时间:2017-07-30
  • 关注会员:4 人
  • 回答浏览:1651
  • X社区推广