zoukankan      html  css  js  c++  java
  • Oracle的hash分区

    创建hash分区:

    create table hash_part_tab (id number,deal_date date,area_code number,nbr number,contents varchar2(4000))
    partition by hash (deal_date)
    PARTITIONS 12 tablespace big01

    插入数据:

    insert into hash_part_tab(id,deal_date,area_code,nbr,contents)
    select rownum,
    to_date( to_char(sysdate-365,'J')+TRUNC(DBMS_RANDOM.VALUE(0,365)),'J'),
    ceil(dbms_random.value(590,599)),
    ceil(dbms_random.value(18900000001,18999999999)),
    rpad('*',400,'*')
    from dual
    connect by rownum <= 100000;
    commit;

    查看分区名称:

    select partition_name,
    segment_type,
    bytes,
    'select count(*) from hash_part_tab partition('||partition_name||');'
    from user_segments
    where segment_name ='HASH_PART_TAB';

    创建索引:

    create index idx_hash_part_id on hash_part_tab (id) ;
    create index idx_hash_part_nbr on hash_part_tab (nbr) local;

    收集统计信息:

    exec dbms_stats.gather_table_stats(ownname => 'SYS',tabname => 'HASH_PART_TAB',estimate_percent => 10,method_opt=> 'for all indexed columns',cascade=>TRUE) ;

    该表是否是分区表,分区表的分区类型是什么,是否有子分区,分区总数有多少:

    select partitioning_type,subpartitioning_type,partition_count from user_part_tables where table_name='HASH_PART_TAB';

    该分区表在哪一列上建分区,有无多列联合建分区:

    select column_name,
    object_type,
    column_position
    from user_part_key_columns
    where name ='HASH_PART_TAB';

    --该分区表有多大:

    select sum(bytes) / 1024 / 1024
    from user_segments
    where segment_name ='HASH_PART_TAB';

    该分区表各分区分别有多大,各个分区名是什么:

    select partition_name,
    segment_type,
    bytes
    from user_segments
    where segment_name ='HASH_PART_TAB';

    该分区表的统计信息收集情况:

    select table_name,
    partition_name,
    last_analyzed,
    partition_position,
    num_rows
    from user_tab_statistics t
    where table_name ='HASH_PART_TAB';

    查该分区表有无索引,分别什么类型,全局索引是否失效,此外还可看统计信息收集情况:

    select table_name,
    index_name,
    last_analyzed,
    blevel,
    num_rows,
    leaf_blocks,
    distinct_keys,
    status
    from user_indexes
    where table_name ='HASH_PART_TAB';

    该分区表在哪些列上建了索引:

    select index_name,
    column_name,
    column_position
    from user_ind_columns
    where table_name = 'HASH_PART_TAB';

    该分区表上的各索引分别有多大:

    select segment_name,segment_type,sum(bytes)/1024/1024
    from user_segments
    where segment_name in
    (select index_name
    from user_indexes
    where table_name ='HASH_PART_TAB')
    group by segment_name,segment_type ;

    该分区表的索引段的分配情况:

    select segment_name
    partition_name,
    segment_type,
    bytes
    from user_segments
    where segment_name in
    (select index_name
    from user_indexes
    where table_name ='HASH_PART_TAB');

    分区索引相关信息及统计信息、是否失效查看:

    select t2.table_name,
    t1.index_name,
    t1.partition_name,
    t1.last_analyzed,
    t1.blevel,
    t1.num_rows,
    t1.leaf_blocks,
    t1.status
    from user_ind_partitions t1, user_indexes t2
    where t1.index_name = t2.index_name
    and t2.table_name='HASH_PART_TAB';

  • 相关阅读:
    关于自带的sql developer修改java.exe版本的解决办法
    过滤器-用动态代理解决全站乱码
    myeclipse 文件注释部分乱码问题
    xml&dom_sax&dom4j的常见操作
    JSTL报错Unable to read TLD "META-INF/c.tld" from JAR file "file.............................
    机器学习--模型分类--贝叶斯
    机器学习中---分类模型--决策树模型
    分类模型的评估
    导数
    贝叶斯--- 高斯贝叶斯//多项式贝叶斯//伯努利贝叶斯
  • 原文地址:https://www.cnblogs.com/yangyanhao/p/7867837.html
Copyright © 2011-2022 走看看