注:DML----Data Manipulation Language 数据维护操纵语言 如insert,delete,update,select(插入、删除、修改、检索) DDL----Data Definition Language 数据库定义语言 如 create procedure之类 DCL----Data Control Language 数据库控制语言 如grant,deny,revoke等,只有管理员才有这样的权限。
2. 分区的优点 1.高可用性:如果表的一个分区由于 系统故障而不能使用,表的其余好的分区仍然可以使用;如果系统故障只影响表的一部分分区,那么只有这部分分区需要修复,故能比整个大表修复花的时间更少; 2.维护方便:对于大型的历史数据表,将其分区,分别管理和方便地添加和删除; 3.均衡I/O:可以把表的不同分区分配到不同的磁盘来平衡I/O改善性能;对大表的查询、增加、修改等操作可以分解到表的不同分区来并行执行,可使运行速度更快; 4.分区对用户透明,最终用户感觉不到分区的存在。
3.分区的方式 分区的方式包括:范围分区、列表分区、散列分区和复合分区;
4.建立分区表的语法格式与建立非分区表类似,只是在语句末尾增加PARTITION BY 子句,如下例:
-- 按照日期、数值字段值的范围分区
CREATE TABLE SALES( …… )
PARTITION BY RANGE(salesdate)(
PARTITION PT1 VALUES LESS THAN(TO_DATE(……)) TABLESPACE TSPACE1,
PARTITION PT2 VALUES LESS THAN(TO_DATE(……)) TABLESPACE TSPACE2,
PARTITION PT2 VALUES LESS THAN(MAXVALUE) TABLESPACE TSPACE3
);
-- 按照字符字段值的列表分区
CREATE TABLE SALES(……)
PARTITION BY LIST(saleslocate)(
PARTITION PT1 VALUES (’xi’an’,’lanzhou’) TABLESPACE TSPACE1,
PARTITION PT2 VALUES (’shijiazhuang’,’zhengzhou’,’taiyuan’) TABLESPACE TSPACE2,
PARTITION PT2 VALUES (DEFAULT) TABLESPACE TSPACE3
);
-- 按照某个字段的散列码分区
CREATE TABLE SALES(……)
PARTITION BY HASH(salesman)(
PARTITION PT1 TABLESPACE TSPACE1,
PARTITION PT2 TABLESPACE TSPACE2,
PARTITION PT2 TABLESPACE TSPACE3
);
复合分区有 范围-哈希 和 范围列表两种
--创建范围-哈希分区表示例
create table my_talbe10(
t_id number primary key,
t_num number not null,
t_info varchar2(20) not null
)
partition by range(t_num) subpartition by hash(t_info)
(
partition p1 values lessthan(1000)(
subpartition p11 tablespacemy_space,
subpartition p12 tablespace my_space2
) ,
partition p3 values lessthan(maxvalue) tablespace users(
subpartition p31,
subpartition p32
)
);