oralce,创建分区,子分区表,分区索引,查询分区对应的数据sql
2017-12-07 16:56
459 查看
--创建分区表,带默认子分区
--DROP TABLE SA.BUSTB_TESTRESULT;
CREATE table SA.BUSTB_TESTRESULT
(
SUMMAR_ID NUMBER,
ITEM_ID NUMBER,
VALUE VARCHAR2(400),
RESULT VARCHAR2(20),
TESTSTARTTIME TIMESTAMP(6),
PROJECT_ID NUMBER,
FAILMESSAGE VARCHAR2(1000),
ERRORMESSAGE VARCHAR2(1000),
SPENDTIME NUMBER
)
tablespace XDCDATA
PARTITION BY RANGE("TESTSTARTTIME") SUBPARTITION BY LIST ("PROJECT_ID")
(
PARTITION RESULT_PART_201401 VALUES LESS THAN(TIMESTAMP' 2014-02-01 00:00:00')TABLESPACE XDCDATA
(
SUBPARTITION RESULT_PART_201401_0 VALUES (0) TABLESPACE XDCDATA
)
);
--添加分区
ALTER table BUSTB_TESTRESULT ADD PARTITION RESULT_PART_201402 values less than (TIMESTAMP' 2014-03-01 00:00:00')
tablespace XDCDATA (SUBPARTITION RESULT_PART_201402_0 VALUES (0) tablespace XDCDATA);
ALTER table BUSTB_TESTRESULT ADD PARTITION RESULT_PART_201403 values less than (TIMESTAMP' 2014-04-01 00:00:00')
tablespace XDCDATA (SUBPARTITION RESULT_PART_201403_0 VALUES (0) tablespace XDCDATA);
ALTER TABLE BUSTB_TESTRESULT ADD PARTITION RESULT_PART_201411 VALUES LESS THAN (TIMESTAMP' 2014-12-01 00:00:00')
TABLESPACE XDCDATA (SUBPARTITION RESULT_PART_201411_61 VALUES (61) TABLESPACE XDCDATA);
--添加子分区
ALTER TABLE BUSTB_TESTRESULT MODIFY PARTITION RESULT_PART_201411 ADD SUBPARTITION RESULT_PART_201411_62 VALUES (62);
--创建分区索引
--DROP INDEX SA.BUSTB_TESTRESULT_IDX1;
CREATE INDEX SA.BUSTB_TESTRESULT_IDX1 ON SA.BUSTB_TESTRESULT (SUMMAR_ID, ITEM_ID) TABLESPACE XDCIDX LOCAL
(
PARTITION "RESULT_PART_201401" TABLESPACE "XDCIDX",
PARTITION "RESULT_PART_201402" TABLESPACE "XDCIDX",
PARTITION "RESULT_PART_201403" TABLESPACE "XDCIDX",
PARTITION "RESULT_PART_201411" TABLESPACE "XDCIDX"
);
--数量要和表分区数一致,否则会报错
LOCAL 索引的分区数必须等于基础表的分区数
--查询分区,子分区对应的数据,
SELECT * FROM BUSTB_TESTRESULT PARTITION(RESULT_PART_201411);
SELECT * FROM BUSTB_TESTRESULT SUBPARTITION(RESULT_PART_201411_61);
SELECT * FROM BUSTB_TESTRESULT SUBPARTITION(RESULT_PART_201411_62);
--DROP TABLE SA.BUSTB_TESTRESULT;
CREATE table SA.BUSTB_TESTRESULT
(
SUMMAR_ID NUMBER,
ITEM_ID NUMBER,
VALUE VARCHAR2(400),
RESULT VARCHAR2(20),
TESTSTARTTIME TIMESTAMP(6),
PROJECT_ID NUMBER,
FAILMESSAGE VARCHAR2(1000),
ERRORMESSAGE VARCHAR2(1000),
SPENDTIME NUMBER
)
tablespace XDCDATA
PARTITION BY RANGE("TESTSTARTTIME") SUBPARTITION BY LIST ("PROJECT_ID")
(
PARTITION RESULT_PART_201401 VALUES LESS THAN(TIMESTAMP' 2014-02-01 00:00:00')TABLESPACE XDCDATA
(
SUBPARTITION RESULT_PART_201401_0 VALUES (0) TABLESPACE XDCDATA
)
);
--添加分区
ALTER table BUSTB_TESTRESULT ADD PARTITION RESULT_PART_201402 values less than (TIMESTAMP' 2014-03-01 00:00:00')
tablespace XDCDATA (SUBPARTITION RESULT_PART_201402_0 VALUES (0) tablespace XDCDATA);
ALTER table BUSTB_TESTRESULT ADD PARTITION RESULT_PART_201403 values less than (TIMESTAMP' 2014-04-01 00:00:00')
tablespace XDCDATA (SUBPARTITION RESULT_PART_201403_0 VALUES (0) tablespace XDCDATA);
ALTER TABLE BUSTB_TESTRESULT ADD PARTITION RESULT_PART_201411 VALUES LESS THAN (TIMESTAMP' 2014-12-01 00:00:00')
TABLESPACE XDCDATA (SUBPARTITION RESULT_PART_201411_61 VALUES (61) TABLESPACE XDCDATA);
--添加子分区
ALTER TABLE BUSTB_TESTRESULT MODIFY PARTITION RESULT_PART_201411 ADD SUBPARTITION RESULT_PART_201411_62 VALUES (62);
--创建分区索引
--DROP INDEX SA.BUSTB_TESTRESULT_IDX1;
CREATE INDEX SA.BUSTB_TESTRESULT_IDX1 ON SA.BUSTB_TESTRESULT (SUMMAR_ID, ITEM_ID) TABLESPACE XDCIDX LOCAL
(
PARTITION "RESULT_PART_201401" TABLESPACE "XDCIDX",
PARTITION "RESULT_PART_201402" TABLESPACE "XDCIDX",
PARTITION "RESULT_PART_201403" TABLESPACE "XDCIDX",
PARTITION "RESULT_PART_201411" TABLESPACE "XDCIDX"
);
--数量要和表分区数一致,否则会报错
LOCAL 索引的分区数必须等于基础表的分区数
--查询分区,子分区对应的数据,
SELECT * FROM BUSTB_TESTRESULT PARTITION(RESULT_PART_201411);
SELECT * FROM BUSTB_TESTRESULT SUBPARTITION(RESULT_PART_201411_61);
SELECT * FROM BUSTB_TESTRESULT SUBPARTITION(RESULT_PART_201411_62);
相关文章推荐
- oralce,分区、子分区、分区索引,分区索引数据查询sql
- SQL高级语句-CREATE INDEX 在表中创建索引,以便更加快速高效地查询数据。
- 提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
- 创建一个分区表,并插入一些数据,同时查询出每个分区的数据
- 提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
- 2000W条数据的Oralce数据库SQL查询优化经验 - 机会总会留给有准备的人
- sql server xtype 对应数据类型名称sql查询
- 用sql脚本,进行向已创建好的表中,省及所对应的城市的表 数据的新增
- 2000W条数据的Oralce数据库SQL查询优化经验 - 机会总会留给有准备的人
- 创建空间数据分区表及分区索引步骤(oracle 10g 且关键字非字符型)
- Oracle将已有数据的表改为分区表【创建表分区、索引分区】
- 提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
- 数据重复导致创建唯一索引失败,删除重复数据的SQL语句
- SQl 跨服务器查询语句和跨数据创建表
- 提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
- 提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
- oracle,查询分区表和非分区表,索引对应的表空间sql
- 提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
- 提高mysql千万级大数据SQL查询优化30条经验(Mysql索引优化注意)
- SQl 跨服务器查询语句和跨数据创建表