Iamccw521
Iamccw521
2008-08-23 09:11

请教Oracle大表的处理方式

已采纳

RT。

我用的是Oracle 10G RAC,一个表的字段非常多(包含一个BLOB字段),大约有60-70个字段左右,外键有10多个,现在的情况是,表里有80万条数据就很慢,并且这个表的更新非常频繁,这个表的数据会慢慢的达到3000万条,请问对此表用什么方式处理速度会快一些?
问题补充:
gaoran2008兄弟提到了分表的处理方式,我有空做个实验试试看,但是Oracle有表分区,不知道表分区对我提到的有没有大幅度的提升呢?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

4条回答

  • javagaoran javagaoran 13年前

    是Oracle有表分区,不知道表分区对我提到的有没有大幅度的提升呢?

    有的,表分区你针对这一张表进行分区,加索引.日后,数据量的增加表分区就会存在删除,扩容,增加等一些操作,可能还会破坏索引.这些操作都是很微妙的.
    如果我来做的话,还是分表.

    点赞 评论 复制链接分享
  • passport_cxdn_net passport_cxdn_net 13年前

    "处理速度会快一些"
    所需要解决的问题应该是查询记录吧?
    如果不想进行多表的重新构建那就 :
    建立常用表字段的查询试图create view 并且在查询条件字段上加上索引;
    我想速度应该会快很多的吧
    有一个问题需要注意:如果在n条记录中检索一条记录没有索引查询和有索引查询的速度比应该是: n / log2(n)

    点赞 评论 复制链接分享
  • setflogs setflogs 13年前

    可以根据需求把表进行垂直分割或者纵向分割,一个表可以按字段拆分为2个表,可以以按时间拆分2个表(信息当前表,信息仓库表)。还可以用hibernat缓存方式来处理,如果是web,看看能不能生成静态页面!

    点赞 评论 复制链接分享
  • javagaoran javagaoran 13年前

    分表
    把常用的字段放一张表,也做为主表。
    不常用的字段用一张表,blob大字段的也用一张表。

    点赞 评论 复制链接分享

相关推荐