The document describes different types of partitioning that can be used when creating tables in Oracle including range, list, hash, range-hash, range-list, index organized tables, and clustered tables. Examples are provided for each type of partitioning that show the SQL syntax for creating tables using that partitioning method.
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Table partitioning in Oracle Database
1. RANGE PARTITIONING
CREATE TABLE abc ( prod_id NUMBER(6) , cust_id NUMBER
, time_id DATE , channel_id CHAR(1) , promo_id NUMBER(6) ,
quantity_sold NUMBER(3) , amount_sold NUMBER(10,2) )
PARTITION BY RANGE (time_id) ( PARTITION sales_q1_2006
VALUES LE
SS THAN (TO_DATE('01-APR-2006','dd-MON-yyyy'))
TABLESPACE tbs1 , PARTITION sales_q2_2006 VALUES LESS
THAN (TO_DATE('01-JUL-2006','dd-MON-yyyy')) TABLESPACE
tbs2 ,
PARTITION sales_q3_2006 VALUES LESS THAN
(TO_DATE('01-OCT-2006','dd-MON-yyyy')) TABLESPACE tbs3,
PARTITION sales_q4_2006 VALUES LESS THAN
(TO_DATE('01-JAN-2007','dd-MON-yyyy')) TABLESPACE tbs4
);
4. RANGE-HASH PARTITIONING
CREATE TABLE sales ( prod_id NUMBER(6) , cust_id
NUMBER , time_id DATE ,
channel_id CHAR(1) , promo_id NUMBER(6) ,
quantity_sold NUMBER(3) ,
amount_sold NUMBER(10,2) ) PARTITION BY RANGE
(time_id)
SUBPARTITION BY HASH (cust_id) SUBPARTITIONS 8 STORE IN
(ts1, ts2, ts3, ts4)
( PARTITION sales_q1_2006 VALUES LESS THAN
(TO_DATE('01-APR-2006','dd-MON-yyyy'))
, PARTITION sales_q2_2006 VALUES LESS THAN
(TO_DATE('01-JUL-2006','dd-MON-yyyy')) ,
PARTITION sales_q3_2006 VALUES LESS THAN
(TO_DATE('01-OCT-2006','dd-MON-yyyy')) ,
PARTITION sales_q4_2006 VALUES LESS THAN (TO_DATE('01-
JAN-2007','dd-MON-yyyy')) );
5. RANGE-LIST PARTITIONING
CREATE TABLE quarterly_regional_sales (deptno number,
item_no varchar2(20),
txn_date date, txn_amount number, state varchar2(2))
TABLESPACE ts4 PARTITION BY RANGE (txn_date)
SUBPARTITION BY LIST
(state) (PARTITION q1_1999 VALUES LESS THAN (TO_DATE('1-
APR-1999','DD-MON-YYYY'))
(SUBPARTITION q1_1999_northwest VALUES ('OR', 'WA'),
SUBPARTITION q1_1999_southwest VALUES
('AZ', 'UT', 'NM'), SUBPARTITION q1_1999_northeast VALUES
('NY', 'VM', 'NJ'),
SUBPARTITION q1_1999_southeast VALUES ('FL', 'GA'),
SUBPARTITION q1_1999_northcentral VALUES ('SD', 'WI'),
SUBPARTITION q1_1999_southcentral VALUES ('OK', 'TX') ),
9. INDEX ORGANIZED TABLE
CREATE TABLE country
( country_id CHAR(2)
CONSTRAINT country_id_nn NOT NULL,
country_name VARCHAR2(40),
currency_name VARCHAR2(25),
currency_symbol VARCHAR2(3),
map BLOB,
flag BLOB,
CONSTRAINT country_c_id_pk
PRIMARY KEY (country_id))
ORGANIZATION INDEX
TABLESPACE indx
PCTTHRESHOLD 20
OVERFLOW TABLESPACE users;
10. CLUSTURED TABLES
# Create the cluster
create cluster emp_dept( deptno number
(3)) tablespace users;
# Create the two tables that are part
of the cluster
create table dept ( deptno number (3)
primary key) cluster emp_dept (deptno);
create table emp ( empno number (5)
primary key, ename varchar2(15), deptno
number (3) references dept) cluster
emp_dept (deptno);