oracle删除表的某个表分区_Oracle表分区
1 表分区简介
金苹果学校允许⽤户将⼀个表分成多个分区
⽤户可以执⾏查询,只访问表中的特定分区
将不同的分区存储在不同的磁盘,提⾼访问性能和安全性
可以独⽴地备份和恢复每个分区
2 表分区的类型
2.1 范围分区
以表中的⼀个列或⼀组列的值的范围分区
范围分区的语法:
PARTITION BY RANGE (column_name)( PARTITION part1 VALUE LESS THAN(range1), PARTITION part2 VALUE LESS THAN(range2), ... [PARTITION英语翻译在线翻译
ufo是什么意思范围分区⽰例
-
so far
-⽰例1 CREATE TABLE Sales ( Product_ID varchar2 (5), Sales_Cost number (10) ) PARTITION BY RANGE (Sales_Cost) -- 根据 Sales_Cost 创建分区 ( PARTIT 实例:
create table sales(product_id varchar2(20),sales_date date not null,sales_cost number(10))partition by range (sales_cost)( partition p1 values less than (1 2.2 散列分区
允许⽤户对不具有逻辑范围的数据进⾏分区
通过在分区键上执⾏HASH函数决定存储的分区
将数据平均地分布到不同的分区
脚本是什么意思语法
PARTITION BY HASH (column_name)PARTITIONS number_of_partitions;或PARTITION BY HASH (column_name)( PARTITION part1 [TABLESPACE tbs1], PAR ⽰例1:
CREATE TABLE Employee( Employee_ID varchar2 (5), Employee_Name varchar2(20), Department varchar2 (10))PARTITION BY HASH (Department) -- 创建 3 ⽰例2:
CREATE TABLE EMPLOYEE( EMP_ID NUMBER(4), EMP_NAME VARCHAR2(14), EMP_ADDRESS VARCHAR2(15), DEPARTMENT VARCHAR2(10))PAR
somuch
实例:
--创建表并创建分区 create table employee( emp_id number(4), emp_name varchar2(14), descp varchar2(20) ) partition by hash(emp_id) partitions 4; create tab
2.3 列表分区liyou
允许⽤户将不相关的数据组织在⼀起
列表分区的语法:
PARTITION BY LIST (column_name)( PARTITION part1 VALUES (values_list1), PARTITION part2 VALUES (values_list2), ... PARTITION partN VALUES (
⽰例:
CREATE TABLE Employee( Emp_ID number (4), Emp_Name varchar2 (14), Emp_Address varchar2 (15) --根据职员住址在表上创建的列表分区)PARTITION BY L 实例:
--列表分区: create table testlist ( urid number(4), urname varchar2(20) ) partition by list(urname) ( partition p1 values('wyg','wyg1'), partition p2 values('w
2.4 复合分区
范围分区与散列分区或列表分区的组合
复合分区的语法:
PARTITION BY RANGE (column_name1)SUBPARTITION BY HASH (column_name2)SUBPARTITIONS number_of_partitions( PARTITION part1 VALUE L
⽰例1:
CREATE TABLE SALES ( PRODUCT_ID VARCHAR2 (5), SALES_DATE DATE NOT NULL, SALES_COST NUMBER (10))PARTITION BY RANGE (SALES
⽰例2:
create table sales ( product_id varchar2(20), sales_cost number(5) ) partition by range(sales_cost) subpartition by hash(product_id) subpartitions 5 ( part
3 操纵已分区的表
在已分区的表中插⼊数据与操作普通表完全相同,Oracle会⾃动将数据保存到对应的分区
查询、修改和删除分区表时可以显式指定要操作的分区价值观的英语
altea
4 分区维护操作有
添加分区 – 在最后⼀个分区之后添加新分区
ALTER TABLE SALES ADD PARTITION P4 VALUES LESS THAN (4000);
删除分区 – 删除⼀个指定的分区,分区的数据也随之删除
吴彦祖 魔兽
ALTER TABLE SALES DROP PARTITION P4;
截断分区 – 删除指定分区中的所有记录
ALTER TABLE SALES TRUNCATE PARTITION P3;
合并分区 - 将范围分区或复合分区的两个相邻分区连接起来
ALTER TABLE SALES MERGE PARTITIONS S1, S2 INTO PARTITION S2;
拆分分区 - 将⼀个⼤分区中的记录拆分到两个分区中
ALTER TABLE SALES SPLIT PARTITION P2 AT (1500)INTO (PARTITION P21, PARTITION P22);