Oracle实践--PL/SQL表分区的基础
PL/SQL基础入门之表分区
PL/SQL:过程语言(Procedure
Language)和结构化语言(Structured Query
Language)结合而成的编程语言。是对SQL的扩展。支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制语句,可创建存储过程,程序包和触发器等,给sql语句的运行加入程序逻辑,与Oracleserver和Oracle工具紧密集成,具有可移植性。灵活性和安全性。
------------------------------------------------------------------------------------------------------------
表分区
/*
分区:Oracle同意用户将一个表分成多个分区,与表的创建一起
长处:1.用户能够运行查询,仅仅訪问当中特定的分区。
2.将不同的分区存储在不同的磁盘。提高訪问性能和安全性
3.能够独立备份和恢复分区。
*/
1.范围分区:以表中一个列或一组列的值得范围分区
--keyword:partition by range values less than
create table person1(
pid number primary key,
birthday date
)
partition by range (birthday)(
partition p1 values less than (to_date('1980-01-01','yyyy-mm-dd')),
partition p2 values less than (to_date('1990-01-01','yyyy-mm-dd')),
--partition p1 values less than (maxvalue)
)
insert into person1 values(1,'ysjian',to_date('1965-02-03','yyyy-mm-dd'));
insert into person1 values(2,'ysjian',to_date('1985-02-03','yyyy-mm-dd'));
insert into person1 values(3,'ysjian',to_date('1995-02-03','yyyy-mm-dd'));
select * from person1 partition(p2);
2.散列分区:同意用户对不具有逻辑范围的数据进行分区,keyword:hash
--通过在分区键上运行hash函数决定存储的分区,将数据平均分配到不同的分区
create table person2(
pid number primary key,
pname varchar2(20),
birthday date
)
partition by hash(birthday)(
partition p1 [TABLESPACE tbs1],
partition p2 [TABLESPACE tbs2],
partition p3 [TABLESPACE tbs3]
)
3.列表分区:同意用户将不相关的数据组织在一起,keyword:list,values
create table person3(
pid number primary key,
birthday date。
address varchar2(50)
)
partition by list(address)(
partition hubei values('武汉','黄石','黄冈'),
partition shanxi values('西安','渭南','宝鸡')
)
4.复合分区:keyword:subpartition
create table person4(
pid number primary key,
birthday date,
address varchar2(50)
)
partition by range(birthday)
subpartition by hash(birthday)
subpartitions4(
partition p1 values less than (to_date('1980-01-01','yyyy-mm-dd')),
partition p2 values less than (to_date('1990-01-01','yyyy-mm-dd')),
partition p3 values less than (to_date('2000-01-01','yyyy-mm-dd'))
)
--分区的维护:
1.新增分区:在最后一个分区之后加入新分区
alter table person1 add partition P4 values less than (4000);
2.删除分区:删除一个指定的分区,分区的数据也随之删除
alter table person1 truncate partition P3;
3.截断分区:删除指定分区中的全部记录,不记录日志,不可恢复
alter table person1 truncate partition P3;
4.合并分区 -将范围分区或复合分区的两个相邻分区连接起来
alter table person1 merge partitions p1, p2 into partition p2;
5.拆分分区 -将一个大分区中的记录拆分到两个分区中
alter table person1split partition p2 AT (1500) into (partition P21,partition P22);
/*
表分区同意将一个表划分成几部分,以改善大型应用系统的性能
分区方法包含范围分区、散列分区、复合分区和列表分区
分区维护操作包含加入、删除、截断、合并和拆分分区
*/
文章来源:http://blog.csdn.net/ysjian_pingcx/article/details/25646805
版权声明:本文博客原创文章,博客,未经同意,不得转载。
Oracle实践--PL/SQL表分区的基础的更多相关文章
- Oracle实践--PL/SQL综合之分页存储过程
Oracle PL/SQL分页的存储过程 Oracle,分页,存储过程三个词结合起来,来个综合点的小练习,运用之前的PL/SQL创建一个分页的存储过程,仅仅须要简单几步就可以. 1.声明一个引用游标 ...
- oracle学习之路(四) ---------PL/SQL 表,二维数组(TABLE)
LOB类型 ORACLE提供了LOB (Large OBject)类型.用于存储大的数据对象的类型.ORACLE眼下主要支持BFILE, BLOB, CLOB 及 NCLOB 类型. NCLOB 存储 ...
- 使用oracle 的 PL/Sql 定时执行一个存储过程
CSDN日报20170322--<关于软件研发的一些体会总结> 同步博客至 CSDN ,让更多开发者看到你的文章 看微博技术大咖解析互联网应用架构实战 使用oracle 的 PL/Sql ...
- Oracle中PL/SQL的执行部分和各种流程控制
Oracle中PL/SQL的执行部分和异常部分 一.PL/SQL的执行部分. 赋值语句. 赋值语句分两种,一种是定义一个变量,然后接收用户的IO赋值:另一种是通过SQL查询结果赋值. 用户赋值举例: ...
- Oracle中PL/SQL简介、基本语法以及数据类型
Oracle中PL/SQL简介.基本语法以及数据类型 一.PL/SQL简介. Oracle PL/SQL语言(Procedural Language/SQL)是结合了结构化查询和Oracle自身过程控 ...
- Oracle数据库—— PL/SQL基础编程
一.涉及内容 1. 掌握PL/SQL程序块的结构,理解并熟悉各种变量的应用. 二.具体操作 (一)使用system用户登录SQL*PLUS,使用SQL语句创建用户:u_你的姓名首字母(例如:u_zs) ...
- Oracle Day07 PL/SQL基础
1.基本格式 set serveroutput on declare -- 申明部分 name ); begin -- 执行的sql语句 ; dbms_output.put_line(name); e ...
- Oracle之PL/SQL
基础语法 [declare --定义部分] begin --执行部分 [exception --异常处理部分] end; 其中,定义部分以declare开始,该部分是可选的;执行部分以begin开始, ...
- Oracle之PL/SQL学习笔记
自己在学习Oracle是做的笔记及实验代码记录,内容挺全的,也挺详细,发篇博文分享给需要的朋友,共有1w多字的学习笔记吧.是以前做的,一直在压箱底,今天拿出来整理了一下,给大家分享,有不足之处还望大家 ...
随机推荐
- KMP求字符串最小循环节
证明1: 对于一个字符串S,长度为L,如果由长度为len的字符串s(字符串s的最小循环节是其本身)循环k次构成,那么字符串s就是字符串S的最小循环节 那么字符串有个很重要的性质和KMP挂钩,即 i ...
- Java 执行四则运算
四种基本的操作原理是将被转换成后缀缀表达式表达.然后计算. 转换思路和原则.可以参考将中缀表达式转化为后缀表达式 import java.math.BigDecimal; import java.ut ...
- lambda 3
.NET笔记系列:LAMBDA表达式常用写法 这里主要是将数据库中的常用操作用LAMBDA表达式重新表示了下,用法不多,但相对较常用,等有时间了还会扩展,并将查询语句及LINQ到时也一并重新整理下 ...
- HD2 Tmobile 重新分区代码(使用clk 1.6.5 de)
fastboot oem part-resize misc: fastboot oem part-resize recovery: fastboot oem part-resize boot: fas ...
- LayoutInflater使用
在实际工作中,事先写好的布局文件往往不能满足我们的需求,有时会依据情况在代码中自己定义控件,这就须要用到LayoutInflater.LayoutInflater在Android中是“扩展”的意思,作 ...
- Hive自己定义函数的使用——useragent解析
想要从日志数据中分析一下操作系统.浏览器.版本号使用情况.可是hive中的函数不能直接解析useragent,于是能够写一个UDF来解析.useragent用于表示用户的当前操作系统,浏览器版本号信息 ...
- C++ Primer 学习笔记_2_高速入口(继续)
P15习题 //题1.14: 试分析假设v1 == v2的情况下,该程序的输出结果 #include <iostream> int main() { std::cout <&l ...
- 答读者问(8):相关Java问题涉及到学习
近来的,我收到一个研究生朋友的电子邮件,一般内容如下面: 日 (本人微博:http://weibo.com/zhouzxi?topnav=1&wvr=5,我们的聊天号码:245924426.欢 ...
- richedit设置滚动条的位置和更新内容
需要txt发现读者richedit的scrollbar位置(为了便于下一次读,直接访问与上次读取下一个读取位置)不值得治疗,采用GetScrollPos.SetScrollPos你可以设置scorll ...
- ABP-N层架构
ABP理论学习之N层架构 返回总目录 自从写这个系列博客之后,发现很多园友还是希望有个直接运行的demo,其实在github上就有官方的demo,我直接把这demo的链接放到这里吧,另外,我分析, ...