オラクルサブパーティションサブパーティションの作成、追加、削除

世界で生き残るためには、世界を救う必要があり、希望の光も蓄積する必要があります。
あなたが学んだことを覚えて、あなたが学んだことを適用し、再版を歓迎し、詳細についてはQQ:289325414に連絡してください

テーブルとパーティションを作成するには、フィールドをパーティションとして、フィールドをサブパーティションとして、階層関係を親として決定する必要があります。たとえば、20190722日のYDデータをクエリするには、

パーティションフィールドとしてYYYYMMDD、サブパーティションフィールドとしてBAND_CODE

 CREATE TABLE TEST_TABLE
   (
	YYYYMMDD VARCHAR2(12 BYTE), 
	BAND_CODE VARCHAR2(6 BYTE), 
	TEXT VARCHAR2(120 BYTE)
   )  PARTITION BY LIST (YYYYMMDD) 
  SUBPARTITION BY LIST (BAND_CODE) 
 (PARTITION P20190722 VALUES ('20190722') 
  TABLESPACE NB_DATA 
 ( SUBPARTITION P20190722_YD  VALUES ('YD') , 
  SUBPARTITION P20190722_DX  VALUES ('DX')  , 
  SUBPARTITION P20190722_LT  VALUES ('LT') ));

 

サブパーティションの追加と削除(複数または1つのサブパーティションを同時に作成できます)

ALTER TABLE P_RST_SCAN_GRID_RSRP_ALL ADD PARTITION  P20190718 VALUES ('20190718') 
(
SUBPARTITION P20190718_YD values ('YD'),
SUBPARTITION P20190718_DX values ('DX'),
SUBPARTITION P20190718_LT values ('LT')
) ;
--删除子分区
 alter table TEST_TABLE drop SUBPARTITION P20190718_DX;

--也可以删除整个partition分区
 alter table TEST_TABLE drop PARTITION P20190718;

パーティションキーワードクエリを使用します(効率は通常よりも速くなります)

--子分区查询
select * from TEST_TABLE SUBPARTITION(P20190718_YD);
等同于(但上面的效率会更快)
select * from TEST_TABLE where yyyymmdd='20190718' and band_code='YD';


--分区查询
select * from TEST_TABLE PARTITION(P20190718);
等同于(但上面的效率会更快)
select * from TEST_TABLE where yyyymmdd='20190718';

パーティションキーフィールドのクエリ

--子分区字段查询
  SELECT * FROM USER_TAB_SUBPARTITIONS WHERE TABLE_NAME = 'TEST_TABLE';
--分区字段查询  
  SELECT * FROM USER_TAB_PARTITIONS WHERE TABLE_NAME = 'TEST_TABLE';

 

おすすめ

転載: blog.csdn.net/qq_37203082/article/details/97763564