首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 冲浪宝典 > 网络资源 > Oracle表分区学习笔记
【标  题】:Oracle表分区学习笔记
【关键字】:Oracle
【来  源】:http://blog.csdn.net/kj021320/archive/2006/08/18/1095924.aspx

Oracle表分区学习笔记

Oracle表分区

自从oracle8i 开始可以把一个表分割为多个小的部分,这样可以对oracle的性能优化带来很大的好处~
例如:改善表的查询性能,更加容易管理表数据,备份和恢复操作更方便

在oracle 中分区表 分为好几种的(范围分区,散列分区,子分区,列表分区,索引分区)下面我们来慢慢介绍

现在我们来建立一个[范围分区]
create table RangeTable(
 id int primary key,
 name varchar(20),
 grade int
)
partition by rang(grade)
(
 partition part1 values less then(50) tablespace Part1_tb,
 partition part2 values less then(MAXVALUE) tablespace Part2_tb
);
如果grade的值小于50的话 就把记录放到名为part1的分区当中,part1分区将被存储在Part1_tb表空间中
其他的就放在part2中 MAXVALUE是oracle的关键字 表示最大值

[散列分区]
create table HashTable(
 id int primary key,
 name varchar(20),
 grade int
)
/*有两种方式,1就是指定分区数目和所使用的表空间,2指定以命名的分区*/
partition by hash(grade)
partitions 10 -- 指定分区的数目
store in(Part1_tb,Part2_tb,Part3_tb) --如果指定的分区数目比表空间多,分区会以循环方式分配到表空间
/*------------------------------------*/
partition by rang(grade)--这种方式就是 指定以命名的分区
(
 partition part1 tablespace Part1_tb,
 partition part2 tablespace Part2_tb
);

[子分区]即是分区的分区
create table ChildTable(
 id int primary key,
 name varchar(20),
 grade int
)
partition by rang(grade)
subpartition by hash(grade)
partitions 5
(
 partition part1 values less then(30) tablespace Part1_tb,
 partition part2 values less then(60) tablespace Part2_tb,
 partition part3 values less then(MAXVALUE) tablespace Part3_tb
);

[列表分区]告诉oracle所有可能的值
create table ListTable(
 id int primary key,
 name varchar(20),
 area varchar(10)
)
partition by list(area)

 partition part1 values('guangdong','beijing') tablespace Part1_tb,
 partition part2 values('shanghai','nanjing') tablespace Part2_tb
);

[索引分区]索引也可以按照和表进行分区时使用的相同的值范围来分区
create index IndexTable_index
on IndexTable(name)
local
(
 partition part1 tablespace Part1_tb,
 partition part2 tablespace Part2_tb
)
--local 告诉oracle表 IndexTable的每一个分区建立一个独立的索引
create index IndexTable_index
on IndexTable(name)
global;
--global为全局索引 全局索引可以包含多个分区的值 局部索引比全局索引容易管理,而全局索引比较快
注意:不能为散列分区 或者 子分区创建全局索引

查询某一个表分区
select * from table partition(part1);

推荐一个适用于visual studio 2005的一个js日历控件.:【上一篇】
使用ASA建数据库,移植到别的机器上,无法使用的问题:【下一篇】
【相关文章】
  • 重新安装OS,ORACLEL软件恢复数据
  • 在 linux 下卸载 oracle10g
  • 监控Oracle数据库的常用shell脚本
  • Oracle 8.1.6的一次恢复!
  • oracle启动 shell脚本
  • 用Oracle ADF和JSF开发应用程序简介(一)
  • Solaris下Oracle的安装
  • Oracle点滴(1)
  • Oracle数据库的密码文件介绍
  • [Oracle] DBA工作备忘录之三:rman备份,未使用catalog,控制文件丢失的解决办法
  • 【随机文章】
  • 如何用 SQL 语句获取某个 ACCESS 表占用的磁盘空间大小?
  • Atlas客户端类库、控件介绍(1)
  • 网络寻呼机数据库版显示消息showmessage.asp
  • ADSL拨号错误代码表
  • 一天发现三个大公司的8个BUG
  • 不按回车就接受一个字符输入!
  • Asp.net操作函数汇总
  • 世界500强著名芯片公司上海招聘system tools
  • oracle命名规范与保留字介绍!
  • 说说fuction的返回值!
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 软讯网络 All Rigths Reserved.