成都网站建设
|
域名注册
|
虚拟主机
|
网站制作
|
网站案例
|
网站优化
|
网站推广
|
企业邮局
|
服务器租用
|
广告设计
首页
服务器租用
企业邮箱
虚拟主机
网站程序
营销推广
网站建设
域名注册
前端开发
网站备案
网站空间
|
独立ip空间
|
双线主机
|
php虚拟主机
|
免备案空间
|
香港空间
|
云空间
|
vps主机
|
服务器租用
|
服务器托管
|
云服务器
|
jsp空间
|
网站空间报价
虚拟主机
主机管理
主机购买
数据库
主机续费升级
FTP上传
服务器租用
web服务器
FTP服务器
服务器托管
服务器租用
vps主机服务器
企业邮箱
企业邮箱优势
企业邮箱设置
邮箱收发问题
邮箱功能讲解
邮箱其他问题
网站程序
java教程
asp程序
asp.net程序
vb编程
php程序
营销推广
seo优化
网站推广
搜索引擎
免费资源
网站建设
网站方案
网站改版
网页设计
网站维护
网站策划
域名注册
域名转入\转出
英文域名
通用网址
中文域名
域名解析
前端开发
html
jQuery
JavaScript教程
css
div+css
网站备案
备案流程指南
备案资料下载
备案常见问题
各省备案要求
移动互联网
wap手机网站
app应用开发
微网站
当前位置:
创新互联
>>
常见问题
>>
虚拟主机
>>
数据库
>>
深入Oracle 11g分区功能
深入Oracle 11g分区功能
作者:创新互联 文章来源:数据库 点击数:
更新时间:2012-07-24
数据库
分区是每种数据库都需具备的关键功能之一。几乎所有的Oracle数据库都使用分区功能来提高查询的性能,Oracle 11g分区功能可以简化数据库的日常管理维护工作,大大减轻了DBA(数据库设计和管理工程师)的工作负担。 Oracle 11g中提供的新功能增添了更多的数据库分区功能选择,使分区功能在使用和维护上变得更加灵活;同时,Oracle 11g也提供更多的分区功能选择。 Oracle 8.0版最早推出了表格的分区功能,使Oracle成为了第一个支持物理分区的RDBMS供应商。SQL Server(2000)和DB2都只支持逻辑分区(使用UNION ALL视图),而SQL Server 2005并不直接支持物理分区(需通过分区功能)。Oracle的分区功能选择很受用户群的欢迎,因为分区功能能够改善应用程序的性能、可管理性和可用性,其中最重要的是DSS应用程序。由于该功能受到广泛的喜爱,因此每次发布新版本都会有功能上的不断提高。 下面的表格列举了随版本更新而不断提高的分区功能(高级): Oracle数据库版本 分区功能 8.0.5 引入范围分区功 8i 引入散落列分区和组合范围散列分区功能。 9i 引入列表分区和组合范围列表分区功能。 10G 引入了对索引组织表进行范围分区、列表分区和三列分区的功能。该版本还引入了其他组合分区功能选择。 11G 引入扩展的分区功能: -Interval分区 -外键分区 -虚拟列分区 -引入了分区建议器 分区功能类型 现在让我们简单的讨论一下以上每个分区功能的特性: 范围分区:数据根据分区键值范围指定进行分布。比如,如果我们选择一个日期列作为分区键,分区“JAN-2007”就会包括所有包含从01-JAN-2007到31-JAN-2007之间的分区键值(假设分区的范围是从这个月的第一天到这个月的最后一天)。 散列分区:将散列算法用于分区键来确定指定行所在的分区。这个分区方法能够保持I/O平衡,但是不可用于范围查询或不等式查询。 列表分区:数据根据分区键值列表指定进行分布。这个分区方法对于离散的列表非常有用,如地区、国家等。 组合分区:结合2个数据分区方法可以成为一个组合分区方法。先用第一个数据分布方法对表格进行分区,然后再用第二个数据分区方法对每个分区进行二次分区。 组合分区方法有以下组合: 组合范围散列分区、组合范围列表分区、组合范围范围分区、组合列表范围分区、组合列表列表分区、组合列表散列分区。 10G支持对索引组织表(索引和数据一起的表格)进行范围分区、列表分区或散列分区,但是不支持对其进行组合分区。 Interval分区:11G版本引入的interval分区范围分区的一种增强功能,可实现equi-sized范围分区的自动化。创建的分区作为元数据,只有最开始的分区是永久分区。随着数据的增加会分配更多的部分,并自动创建新的分区和本地索引 SQL>CREATE TABLE SALES_PART (TIME_ID NUMBER, REGION_ID NUMBER, ORDER_ID NUMBER, ORDER_DATE DATE, SALES_QTY NUMBER(10,2), SALES_AMOUNT NUMBER(12,2) ) PARTITION BY RANGE (ORDER_DATE) INTERVAL (NUMTOYMINTERVAL(1,'month') (PARTITION p_first VALUES LESS THAN ('01-JAN-2006'); Numtoyminterval功能把数字转换成 INTERVAL YEAR TO MONTH文字(‘YEAR’ or ’MONTH’)。 进行Interval分区的表格有传统的范围部分和自动生成的interval部分。进行范围分区的表格可以通过使用ALTER TABLE命令的 SET INTERVAL选项扩展成为Interval分区的表格。 外键分区:分区方案的引入是以相关表格通过相同的分区策略获得好处作为前提设想的。Detail表格通过PK-FK关系从master表格继承相同的分区方案。我们不需要把分区键存储在detail表格中,通过关键词“PARTITION BY REFERENCE”,detail表格获得master表格的分区方案。 虚拟列分区:在之前的Oracle版本里,只有分区键存在与表格中才可以实现对表格的分区功能。而Oracle 11G的新功能“虚拟列”打破了这一限制,允许通过使用表格中的一列或多列的表述确定分区键。而虚拟列只作为元数据存储。 例如:在表格ACCOUNTS中添加一个虚拟列: SQL>CREATE TABLE ACCOUNTS (acc_no number(10) not null, acc_name varchar2(50) not null, acc_loc varchar2(5), acc_branch number(2) generated always as (to_number(substr(to_char(acc_no),1,2))); 使用虚拟列作为分区键: SQL>CREATE TABLE accounts (acc_no number(10) not null, acc_name varchar2(50) not null, acc_loc varchar2(5), acc_branch number(2) generated always as (to_number(substr(to_char(acc_no),1,2))) partition by list (acc_branch); 分区建议器 Oracle 11g还提供了一个分区建议器,可支持分区建议的生成,类似于10G中支持实物化视图、实物化视图日志和索引的功能。事实上,分区建议器在Oracle 11g中是SQL Access Advisor的一部分。这个建议器帮助生成建议,并可以显示出推荐分区实施后可获得的效果。它还会生成创建有效分区的脚本,可手动通过SQL*Plus提交给Oracle或Enterprise Manager。
sqlserver空数据库也占用一定的磁盘空间的问题
:上一篇
Oracle 11g R2中新特性一览
:下一篇
数据库相关文章
sqlserver空数据库也占用...
sql2012无法更改设计数据库...
MSSQL和Access数据库数...
如何在DB2中提高IMPORT性...
MSSQL使用说明
MYSQL使用帮助
MSSQL和MYSQL有什么区别...
如何限制Mssql数据库占用最大...
创新互联专注虚拟主机/网站空间多年,高速、稳定、安全有保障!虚拟主机首选创新互联。
移动互联网
|
网站备案
|
前端开发
|
域名注册
|
网站建设
|
营销推广
|
网站程序
|
虚拟主机
|
企业邮箱
|
服务器租用
|
热门搜索
服务电话:028-86922220 13518219792 公司地址:成都市太升南路288号锦天国际A幢10楼2号
企业邮箱:
service@cdxwcx.com
版权所有:成都创新互联科技有限公司 蜀ICP备09010846号
成都网站建设
数据库 深入Oracle 11g分区功能