网站首页
IC库存
IC展台
电子资讯
技术资料
PDF文档
我的博客
IC72论坛
ic72 logo
资料首页最新产品 技术参数 电路图 设计应用 解决方案 代理商查询 IC替换 IC厂商 电子辞典
关键字: 技术文章 PDF资料 IC价格 电路图 代理商查询 IC替换 IC厂商 电子辞典

解决数据库大表访问优化不能直接索引的问题

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

    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;

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

 

热门搜索:2839224 PDU2430 602-15 TLM825GF 2856032 B3429D BSV52R 2320351 UL800CB-15 2838283 PS2408 01C1001JF 2320296 UL603CB-6 2866666 BT05-F250H-03 TRAVELER3USB PDU12IEC 01M2251SFC3 BTS412B2E3062A 2811271 BT137S-600D118 BTS410F2E6327 01C5001JF SBB1002-1
COPYRIGHT:(1998-2010) IC72 达普IC芯片交易网
客户服务:service@IC72.com 库存上载:IC72@IC72.com
(北京)联系方式: 在线QQ咨询:点击这里给我发消息 联系电话:010-82614113 传真:010-82614123
京ICP备06008810号-21 京公网安备 11010802032910 号 企业资质