Oracle表分区
来源:互联网 发布:铝合金窗 知乎 编辑:程序博客网 时间:2024/06/06 08:46
一、概述
当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时,不至于每次都扫描整张表。
二、类型
1、范围分区
根据列的数值范围进行分区,最常见的是根据日期分区。
create table STUDENT( id varchar2(20), name varchar2(20), birthday date, type varchar2(20))partition by range(birthday)( partition S80 values less than (to_date('1990-01-01','yyyy-mm-dd')) TABLESPACE SP_01, partition S90 values less than (to_date('2000-01-01','yyyy-mm-dd')) TABLESPACE SP_02)2、列表分区
根据列的具体值来分区,适用于列值固定的数据,如类型,部门。
create table STUDENT( id varchar2(20), name varchar2(20), birthday date, type varchar2(20))partition by list(type)( partition full_time values ('fullTime') TABLESPACE SP_01, partition part_time values ('partTime') TABLESPACE SP_02)
3、散列分区
这类分区是在列值上使用散列算法,以确定将行放入哪个分区中。当列的值没有合适的条件时,建议使用散列分区。散列分区为通过指定分区编号来均匀分布数据的一种分区类型,因为通过在I/O设备上进行散列分区,使得这些分区大小一致。
CREATE TABLE HASH_TABLE( COL NUMBER(8), INF VARCHAR2(100))PARTITION BY HASH (COL)( PARTITION PART01 TABLESPACE HASH_TS01, PARTITION PART02 TABLESPACE HASH_TS02, PARTITION PART03 TABLESPACE HASH_TS03)
4、组合分区
以上分区类型的组合
三、操作
1、查询特定分区里的数据
select * from track_list partition(M201801)
2、查看分区情况
select * from USER_TAB_PARTITIONS3、新增分区
alter table graderecord add partition S_014、删除分区
alter table table_name drop partition S_45、合并分区
ALTER TABLE SALES MERGE PARTITIONS P1,P2 INTO PARTITION P2
6、拆分分区
alter table graderecord split partition P_01 at(75) into(partition P_02,partition P_03)
参考:https://www.cnblogs.com/leiOOlei/archive/2012/06/08/2541306.html
阅读全文
0 0
- Oracle表分区、索引分区
- Oracle表分区:范围分区
- Oracle.表分区:列表分区
- Oracle.表分区:复合分区
- ORACLE表分区
- oracle大表分区
- ORACLE表分区
- Oracle表分区
- Oracle表分区
- oracle(表分区技术)
- oracle 表空间/分区
- Oracle 创建表分区
- oracle 表分区
- oracle表分区
- Oracle表分区
- Oracle表分区
- oracle 物理表 分区
- oracle表分区详解
- oracle数据库中varchar2陷阱
- Java设计模式之单例模式
- 我在读pyTorch文档(三)
- Android onCreate 详解
- Navicat for MySQL 设置定时任务 / 实现自动处理
- Oracle表分区
- git ssh连接(填坑)
- Struts2 拦截是否登录过
- 使用jQuery POST提交数据返回的JSON是字符串不能解析为JSON对象
- 动画中级
- 手动脱壳之PECompact
- mysql中的mysql.user表
- webview长按自由复制文字
- bootstrapTable 修改栏位值