Oracle实践--PL/SQL表分区的基础

时间:2022-09-17 22:55:54

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表分区的基础的更多相关文章

  1. Oracle实践--PL/SQL综合之分页存储过程

    Oracle PL/SQL分页的存储过程 Oracle,分页,存储过程三个词结合起来,来个综合点的小练习,运用之前的PL/SQL创建一个分页的存储过程,仅仅须要简单几步就可以. 1.声明一个引用游标 ...

  2. oracle学习之路(四) ---------PL/SQL 表,二维数组(TABLE)

    LOB类型 ORACLE提供了LOB (Large OBject)类型.用于存储大的数据对象的类型.ORACLE眼下主要支持BFILE, BLOB, CLOB 及 NCLOB 类型. NCLOB 存储 ...

  3. 使用oracle 的 PL/Sql 定时执行一个存储过程

    CSDN日报20170322--<关于软件研发的一些体会总结> 同步博客至 CSDN ,让更多开发者看到你的文章 看微博技术大咖解析互联网应用架构实战 使用oracle 的 PL/Sql ...

  4. Oracle中PL&sol;SQL的执行部分和各种流程控制

    Oracle中PL/SQL的执行部分和异常部分 一.PL/SQL的执行部分. 赋值语句. 赋值语句分两种,一种是定义一个变量,然后接收用户的IO赋值:另一种是通过SQL查询结果赋值. 用户赋值举例: ...

  5. Oracle中PL&sol;SQL简介、基本语法以及数据类型

    Oracle中PL/SQL简介.基本语法以及数据类型 一.PL/SQL简介. Oracle PL/SQL语言(Procedural Language/SQL)是结合了结构化查询和Oracle自身过程控 ...

  6. Oracle数据库—— PL&sol;SQL基础编程

    一.涉及内容 1. 掌握PL/SQL程序块的结构,理解并熟悉各种变量的应用. 二.具体操作 (一)使用system用户登录SQL*PLUS,使用SQL语句创建用户:u_你的姓名首字母(例如:u_zs) ...

  7. Oracle Day07 PL&sol;SQL基础

    1.基本格式 set serveroutput on declare -- 申明部分 name ); begin -- 执行的sql语句 ; dbms_output.put_line(name); e ...

  8. Oracle之PL&sol;SQL

    基础语法 [declare --定义部分] begin --执行部分 [exception --异常处理部分] end; 其中,定义部分以declare开始,该部分是可选的;执行部分以begin开始, ...

  9. Oracle之PL&sol;SQL学习笔记

    自己在学习Oracle是做的笔记及实验代码记录,内容挺全的,也挺详细,发篇博文分享给需要的朋友,共有1w多字的学习笔记吧.是以前做的,一直在压箱底,今天拿出来整理了一下,给大家分享,有不足之处还望大家 ...

随机推荐

  1. 【同行说技术】iOS程序员从小白到大神必读资料汇总

    在文章<iOS程序员从小白到大神必读资料汇总(一)>里面介绍了很多iOS入门学习的资料,今天小编就发几篇技术进阶的文章,快来看看吧! 一.iOS后台模式开发指南 这个教程会教你在什么时候怎 ...

  2. 【转】关于Python脚本开头两行的:&num;&excl;&sol;usr&sol;bin&sol;python和&num; -&ast;- coding&colon; utf-8 -&ast;-的作用 – 指定文件编码类型

    原文网址:http://www.crifan.com/python_head_meaning_for_usr_bin_python_coding_utf-8/ #!/usr/bin/python 是用 ...

  3. 【前端JS】input textarea 默认文字,点击消失

    如题.前端页面的 input textarea 有时候须要显示默认文字以提示用户,下面为实现代码,以 input 为例.textarea 能够直接搬用 HTML <input type=&quo ...

  4. 如何用java实现一个p2p种子搜索&lpar;2&rpar;-路由表实现

    路由表实现 回顾一下上一篇讲的内容,上一篇提到从dht网络中获取infohash,那么加入dht网络后的最重要的第一步就是怎么去建立路由表. 路由表里面保存的是dht中其他node的信息,所以node ...

  5. &lbrack;微信跳转链接&rsqb;之WAP浏览器跳转微信指定页面&comma;微信跳转链接

    今天在一个小说的链接上看到最后,点击一个[继续阅读按钮]居然唤起微信APP,在微信内打开一个二维码,长按识别后可关注微信公众号, 后来分析出:weixin://dl/business/?ticket= ...

  6. (转)The Evolved Transformer - Enhancing Transformer with Neural Architecture Search

    The Evolved Transformer - Enhancing Transformer with Neural Architecture Search 2019-03-26 19:14:33 ...

  7. wamp支持win10吗&quest;怎么设置&quest;

    上周ytkah总算把系统升级到win10了,可怎么设置wamp支持win10呢?启动wampwerver是处于黄色状态,打开本地页面是空白,应该是端口问题. 单击右下角wamp图标,点Apache,修 ...

  8. linux之 LVM扩容

    1. 查看本机现在磁盘的情况[root@oralce10g ~]# df Filesystem 1K-blocks Used Available Use% Mounted on/dev/mapper/ ...

  9. 搭建yum本地源&lowbar;阿里云CentOS服务器初始化设置

    CentOS服务器初始化设置其实不分阿里云或其它服务器了,操作配置过程与步骤也差不多一.挂载硬盘 1.磁盘分区 fdisk -l #查看设备,一般可以看到设备名为/dev/xvdb fdisk /de ...

  10. java线程一之创建线程、线程池以及多线程运行时间统计

    线程和进程的基本概念 进程和线程是动态的概念.         进程是 "执行中的程序",是一个动词,而程序是一个名词,进程运行中程序的"代码",而且还有自己的 ...