`
taiwei.peng
  • 浏览: 233984 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Oracle表分区与索引的创建

阅读更多
create table TT_FLOW_TEST
(
  id                 NUMBER not null,
  transfer_batch_key VARCHAR2(30) not null,
  plan_begin_tm      DATE not null,
  transfer_zone_code VARCHAR2(30) not null,
  transfer_area_code VARCHAR2(30),
  batch_code         VARCHAR2(30) not null,
  dist_code          VARCHAR2(30),
  area_code          VARCHAR2(30),
  product_code       VARCHAR2(30),
  bill_num           NUMBER(10),
  weight             NUMBER(16,2),
  data_type          NUMBER(2) not null,
  report_dt          DATE
)
PARTITION BY RANGE (report_dt)
    INTERVAL (NUMTODSINTERVAL(1, 'DAY'))
    (PARTITION FUZZY_FLOW_P20140703 VALUES LESS THAN (TO_DATE('2014-11-19', 'YYYY-MM-DD')))
tablespace OMP_DW_DATA1;
-- Add comments to the table
comment on table TT_TSFR_FUZZY_FLOW
  is '中转班次流向明细表';
-- Add comments to the columns
comment on column TT_FLOW_TEST.id
  is '业务主键';
comment on column TT_FLOW_TEST.transfer_batch_key
  is '中转班次key';
comment on column TT_FLOW_TEST.plan_begin_tm
  is '班次计划开始日期';
comment on column TT_FLOW_TEST.transfer_zone_code
  is '中转网点代码';
comment on column TT_FLOW_TEST.transfer_area_code
  is '中转网点所属地区';
comment on column TT_FLOW_TEST.batch_code
  is '班次编码';
comment on column TT_FLOW_TEST.dist_code
  is '城市代码';
comment on column TT_FLOW_TEST.area_code
  is '地区代码';
comment on column TT_FLOW_TEST.product_code
  is '产品类型';
comment on column TT_FLOW_TEST.bill_num
  is '票数';
comment on column TT_FLOW_TEST.weight
  is '重量';
comment on column TT_FLOW_TEST.data_type
  is '数据类型';
comment on column TT_FLOW_TEST.report_dt
  is '分区字段';
-- Create/Recreate indexes
create index INDEX_TT_FLOW_TEST on TT_FLOW_TEST (batch_code,DATA_TYPE,REPORT_DT)
  tablespace OMP_DW_DATA1;
-- Create/Recreate primary, unique and foreign key constraints
alter table TT_FLOW_TEST
  add constraint PK_TT_FLOW_TEST primary key (ID)
  using index
  tablespace OMP_DW_DATA1;

--按月分区
PARTITION BY RANGE (report_dt)
    INTERVAL (NUMTOYMINTERVAL(1, 'MONTH'))
    (PARTITION P_PKP_Report_TIME VALUES LESS THAN (TO_DATE('2014-12-01', 'YYYY-MM-DD')));

--oracle 小知识
1.oracle 查看表大小
SELECT SUM(T.BYTES) / 1024 / 1024 / 1024
  FROM DBA_SEGMENTS T
WHERE T.SEGMENT_NAME = 'TT_TSFR_FUZZY_ABNORMAL';
2.oracle 使用hash解析会比较快,用全表扫描的时候是索引的大小和表大小差不多的时候
/*+ USE_HASH(TT_CONVEYANCE_DETAIL_UNLOAD,TT_WaybillInfo) FULL(TT_CONVEYANCE_DETAIL_UNLOAD)*/
/*+ INDEX(t,IDX_BATCHCODE_LOCAL)*/  强制走索引
3.oracle 并行
/*+ PARALLEL(R 3) */
分享到:
评论

相关推荐

    Oracle表分区和索引分区

    ### Oracle表分区与索引分区详解 #### 一、Oracle表分区概述 Oracle表分区是一种高级数据组织技术,主要用于提高大型表(特别是TB级别的数据仓库)的管理效率和查询性能。自Oracle 8版本起,引入了分区特性,通过...

    Oracle 分区表 分区索引

    ### Oracle 分区表与分区索引详解 #### 一、Oracle分区概述 在Oracle数据库中,分区技术是一种非常有效的管理大型表和索引的方法。通过将一个大的表或索引分成多个较小的部分(分区),可以显著提高查询性能,并...

    Oracle 分区表 分区索引 索引分区详解

    虽然存储介质和数据处理技术的发展也很快,但是仍然不能满足用户的需求,为了使用户的大量的数据在读写操作和查询中速度更快,Oracle提供了对表和索引进行分区的技术,以改善大型应用系统的性能。

    oracle分区表分区索引.docx

    下面将详细介绍 Oracle 分区表分区索引的类型、分类、创建方法和维护方式。 一、分区表和分区索引的概念 分区表是指将一个大型表分割成多个小表,每个小表称为一个分区。分区表可以根据不同的方式进行分区,例如...

    ORACLE分区与索引

    针对分区表,Oracle 提供了分区索引,它允许索引与分区策略相结合。例如,可以创建局部索引,每个分区都有自己的索引,或者创建全局索引,覆盖所有分区。局部索引通常在查询性能上有优势,而全局索引则适用于跨分区...

    oracle索引与分区索引介绍

    在本文中,我们将详细介绍 Oracle 索引与分区索引的概念、特点、分类、创建方法、维护操作等方面的知识点。 什么是 Oracle 索引? Oracle 索引是一种数据结构,它可以快速地定位特定的数据行,以提高查询性能。...

    Oracle分区表及分区索引

    Oracle 分区表及分区索引 Oracle 分区表是指将一个大表分割成多个小表,每个小表称为一个分区,分区表的优点是可以提高查询性能、改善管理型、增强容错性等。 分区表的分类: 1. 范围分区(Range Partitioning) ...

    深入学习分区表及分区索引(详解oracle分区).docx

    以下是对Oracle分区表和分区索引的深入解析: 1. **何时使用分区**: - 当表的数据量超过2GB时,分区有助于避免32位操作系统下的文件大小限制,同时减少大规模数据的备份时间。 - 对于包含历史数据的表,如按月份...

    Oracle分区表和分区索引在VLDB中的研究.pdf

    "Oracle分区表和分区索引在VLDB中的研究" 本文研究了Oracle分区表和分区索引在VLDB(Very Large Databases)中的应用。分区表和分区索引是数据库管理中的关键技术之一,是VLDB中一个重要的性能提升机制。通过分析一...

    分区索引,本地索引,全局索引的区别

    #### 一、Oracle分区索引概念及分类 在Oracle数据库中,分区索引是针对分区表的一种特殊索引类型,它可以显著提高对于大规模数据集的查询性能。根据索引是否与表的分区策略相匹配,分区索引可以分为两大类:本地...

    oracle表分区详解

    以上介绍了Oracle表分区的基本概念、优点、限制以及两种常见的分区类型——范围分区和列表分区,并给出了具体的创建示例。通过合理地使用表分区技术,可以有效地提高数据库系统的性能和可管理性。

    oracle分区与索引

    ### Oracle 分区与索引详解 #### 一、Oracle 分区概述 在Oracle数据库中,分区是一种物理数据组织技术,它将一个大的表或索引分成多个较小的部分,每个部分都可以独立管理。通过分区,可以显著提高查询性能,简化...

    Oracle分区表详解

    - **创建表空间**: ```sql CREATE TABLESPACE "PARTION_03" LOGGING DATAFILE 'D:\ORACLE\ORADATA\JZHUA\PARTION_03.dbf' SIZE 50M EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO; ``` - **...

    ORACLE表自动按月分区步骤

    通过上述步骤,我们可以看到分区表会自动为新数据所在月份创建一个新的分区`SYS_P183`,并且会自动生成相应的分区索引。 #### 八、总结 本文详细介绍了如何在Oracle数据库中实现表的自动按月分区及本地索引的创建...

    Oracle表分区详解

    Oracle数据库中的表分区是数据库管理的一种高级技术,它允许我们将大型表分解成更小、更易管理和查询的部分,从而提高数据存储和检索的效率。在本文中,我们将深入探讨Oracle表分区的各个方面,包括其重要性、类型、...

    Oracle在线建立超大表的索引

    在Oracle数据库中,为含有千万级别记录的大表创建索引是一项挑战性任务,尤其是对于那些处于高并发在线生产环境中的表。本文将详细介绍如何为一个核心大表(INFO_CUSTOMER)创建一个全局B树索引,并在此过程中尽可能...

    [Oracle]如何在亿级记录表中创建索引

    如果表是分区表,还可以考虑创建全局分区索引以进一步提高性能。 #### 五、注意事项 - 在创建索引过程中,应密切关注系统资源使用情况,特别是磁盘空间和CPU使用率。 - 定期对索引进行分析和调整,以保持其有效性。...

    ORACLE分区表的创建

    -- 创建表空间 CREATE TABLESPACE TS_2009_01 DATAFILE '/oracle/database/2009/TS_2009_01.DBF' SIZE 1024M; CREATE TABLESPACE TS_2010_01 DATAFILE '/oracle/database/2010/TS_2010_01.DBF' SIZE 1024M; -- ...

Global site tag (gtag.js) - Google Analytics