网站首页
IC库存
IC展台
电子资讯
技术资料
PDF文档
我的博客
IC72论坛
ic72 logo
搜索关键字: 所有资讯 行业动态 市场趋势 政策法规 新品发布 技术资讯 价格快报 展会资讯
  • 达普IC芯片交易网 > 新闻中心 > 技术资讯 > 正文
  • RSS
  • 解决数据库大表访问优化不能直接索引的问题
    http://www.ic72.com 发布时间:2010/9/26 10:45:37

        数据库中有些表是增长非常快的,记录量很大,对这种表进行访问时,索引的好处就微乎其微了,通常采用两种办法来进行大表访问的优化。

        1)大表建立在哈希簇中 
     
        create cluster TRADE_CLUSTER(vuserid integer)

        storage(initial 50M next 50M)

        hash is vuserid

        size 60 hashkeys 10000000;/*hashkeys指定了在哈希表里的所期望的行数。*/ create table

        trade_detail_new as select * from trade_detail cluster

        TRADE_CLUSTER(userid);

        drop table trade_detail;

        rename trade_detail_new to trade_detail;

        2)建分区表

        将一个大表分开放置在几个逻辑分区中或者是将一个大表分成了几张小表 ,即可以单独对这些小表进行查询,也可以union all一起查询。

        例如:将 一个记录交易详情的表拆分:

        create trade_detail_1 as select * from trade_detail

        where trade_time between to_date('mm-dd','01-01')and to_date('mm-dd','03-31');

        alter table trade_detail_1 add constraint check_trade_detail_1

        check (trade_time between to_date('mm-dd','01-01')and to_date('mm-dd','03-31'));

        同样,建立起另几张按交易发生的季度而划分的表。然后创建执行四个表联合的视图;
     
        create view trade_detail as select * from trade_detail_1

        union all select * from trade_detail_2

        union all select * from trade_detail_3

        union all select * from trade_detail_4;

        这样在查询某段时间内的数据时只访问小表就可以了,需要时也可进行联合查询。

     


    www.ic72.com 达普IC芯片交易网
  • 行业动态
  • 市场趋势
  • 政策法规
  • 新品发布
  • Baidu

    IC快速检索:abcdefghijklmnopqrstuvwxyz0123456789
    COPYRIGHT:(1998-2010) IC72 达普IC芯片交易网
    客户服务:service@IC72.com 库存上载:IC72@IC72.com
    (北京)联系方式: 在线QQ咨询:点击这里给我发消息 联系电话:010-82614113 传真:010-82614123
    京ICP备06008810号-21 京公网安备 11010802032910 号 企业资质