oracle 创建 分区表
根据网上资料记录一下
-- Create table
create table T_DATA
(
m_id VARCHAR2(64) not null,
org_id VARCHAR2(64) not null,
create_date DATE default sysdate not null
)
PARTITION BY RANGE (CREATE_DATE) INTERVAL (NUMTODSINTERVAL(1, 'day'))
SUBPARTITION BY hash (m_id,org_id) subpartitions 2
(partition part_01 values less than(to_date('2022-12-29', 'yyyy-mm-dd')))
tablespace ALARM_DATA
;
create index IDX_RANGE_ID on T_DATA(create_date) local;
create index IDX_HASH_ID on T_DATA(m_id) local;
当查询经常跨分区查,则应该使用全局索引,因为这是全局索引比分区索引效率高。
当查询在一个分区里查询时,则应该使用 local 索引,因为本地索引比全局索引效率高。