网络编程
位置:首页>> 网络编程>> 数据库>> Oracle 数据表分区的策略

Oracle 数据表分区的策略

  发布时间:2023-07-08 12:19:18 

标签:Or,ra,ac,cl,le,e数,数据,据表,表分,分区,区的,的策,策略,略

正在看的ORACLE教程是:Oracle 数据表分区的策略。本文描述通过统计分析出医院信息系统需分区的表,对需分区的表选择分区键,即找出包括在你的分区键中的列(表的属性),对大型数据的管理比较有意义, 本文的工作在Oracle8.1.6下实现。

Oracle虽然是一个大型的DBMS,但如果不对记录比较多的表进行处理,仍然发挥不了Oracle管理大型数据的强大功能,因此对某些表进行分区,具有如下优点: 

分区表中每个分区可以在逻辑上认为是一个独立的对象; 

可以在一个表中的一个或多个分区上进行如删除、移动、析分等维护操作,而不会影响其它分区,具有分区独立性; 

如果选择合适的分区策略,会大大的加快数据的查询速度。

一 找出需分区的表

本节描述通过统计分析出医院His系统需分区的表,对需分区的表找出包括在你的分区键中的列(表的属性),即选择分区键。

1、基于访问频度找出需分区的表 

Oracle8i允许访问数据库中的审核信息,借助于收集的审核信息,设计者能够确定哪些表的数据是真正最频繁访问的,即找出那些表,需要进行分区。

打开审核:在作为SYS或SYSSTEM登录到数据库后,动行如下脚本,打开对象的审核功能。

这些代码的运行将产生“audon.sql”的输出文件,它包含下面清单中所示格式的语句

使用命令@audon.sql激活上述代码以打开审核功能收集收集审核信息,建立一个表以保存概要信息: 

将审核信息从dba_audit_object表中取出并装入概要表中: 

关闭审核: 

这些代码的运行将产生“audoff.sql”的输出文件。

使用命令@ audoff.sql激活上述代码以关闭上述对象的审核功能。

清除审核信息: 

分析审核信息

以上是HIS系统临床医嘱部分24小时内对表的访问情况,从上面的查询得表1-1。

表1-1

group_order_master( 医嘱套攴主记录) 、group_order_item(医嘱套攴明细), 表的行数比较少,不适合分区;drug_stock(药品库存)虽然存取频率比较高,但表的行数比较少,因此也不适合分区。我们选择表的行数比较多、存取频率比较高的表作分区处理,如 doctor_orders、orders、orders_costs,考虑到doctor_orders是医生工作站上医生开的医嘱,orders是由doctor_orders生成、护士工作站上执行的医嘱,两个表结构类似,而医嘱与药品、卫生材料、计费联系比较密切的是Orders,因此重点介绍对表orders的处理。

2、基于列值选择分区键

使用Sql*plus下用命令Analyze收集末分区表的统计信息,按照Oracle推荐的取样20%进行分析,并将统计结果保存在数据字典中。 

对DBA_TAB_COLUMNS数据字典视图进行查询

产生表1-2 

表1-2 

从表1-2中,我们可以看到欲分区表的各个候选分区键的分布频谱,ORDER_CODE(医嘱代码)键值没有出现一种均匀分布,用它作分区键,明显不合适; 

ORDER_CLASS(医嘱类别代码)、ORDERING_DEPT(开医嘱科室代码),键值出现均匀分布,如用它的各个键值作基于范围的分区,每个分区具有的记录数比较均匀,但这种方法对于每天增加上万条记录的表来看,显然不是最优的。如果选用START_DATE_TIME(医嘱开始时间)建立范围分区,每月的数据建立一个分区,在每个分区内基于ORDERING_DEPT建立散列子分区,每月的数据形成一个组合分区,会使每个分区的记录数分布均匀、查询速度提高、易于备份和删除。因为大多数的统计和查询是在一个月的范围内,而且从实际的查询效果看,跨月和跨年数据的统计和查询速度,也比未分区的时候大大缩短,效果非常明显。

0
投稿

猜你喜欢

  • SQL Server导出表到EXCEL文件的存储过程:*--数据导出EXCEL导出表中的数据到Excel,包含字段名,文件为真正的Excel
  • dim dr dr="2123123" dr1=Cint(dr) dr2=Clng(dr) 可参考如下函数说明: CIn
  • PDO::lastInsertIdPDO::lastInsertId — 返回最后插入行的ID或序列值(PHP 5 >= 5.1.0,
  • 数据库(DataBase,DB)是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合。通俗地说,数据库就是一个按照数据结构来组
  • 虽然现在有许多网页制作工具能让您轻松地完成工作,但如果使用HTML则可以得到更大控制权,下面介绍几个小技巧。1.使用语句来控制文字排版比用好
  • 万众瞩目的 Firefox 3 从昨天开始可以下载了,用“铺天盖地”四个字来形容她的宣传一点都不为过。大多数的广告还是她的fans自发进行的
  • 优秀的Stoyan Stefanov在他的新书中(《Javascript Patterns》)介绍了很多编写高质量代码的技巧,比如避免使用全
  • 1、控制"纵打"、 横打”和“页面的边距。 (1)<script defer> function SetPr
  • 在学校修管理学的时候,有讲过一个管理激励的理论。管理激励是基于行为和认知科学的研究,来发现人们的需要、动机、目标和行为四者之间关系的核心理论
  • 或许你知道,Internet Explorer 6 已经不是最先进的浏览器了。事实上,它已经八岁了,但是很多人还在使用这个不安全的浏览器。正
  • 在seclists中看到一个很惊人的thread:http://seclists.org/oss-sec/2012/q2/493MySQL爆
  • 1、首先在系统盘中查找scrrun.dll,如果存在这个文件,请跳到第三步,如果没有,请执行第二步。 2、在安装文件目录i386中找到scr
  • 代码如下: <% Dim oConn, ors, aRows Dim i,j Set oConn=Server.CreateObjec
  • 我在用 ASP 写一个数据库的应用的时候,总是被那些看起来好好的SQL语句执行起来产生的错误代码搞得头疼,请问有没有更好的解决办法啊?有,我
  • 本文介绍了linux下如何备份与恢复mysql数据库。数据库备份是非常重要的。如果定期做好备份,这样就可以在发生系统崩溃时恢复数据到最后一次
  • 上一篇的DOCTYPE声明好以后,接下来的代码是:<html xmlns="xhtml" ta
  •      现在网页的设计都讲究整体统一风格,无论是网页的文字、图像,还是浏览器的滚动条都要求颜色和风
  • 前言ThinkPHP,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的开源轻量级PHP框架。随着框架代码量的增加,一些潜在的威胁也逐渐暴
  •  学习目的:掌握下拉列表框的用法,并理解AutoPostBack属性; 理解IsPoskBack及用法; 初识DataTable的
  • 阅读:Chapter 3 * 的表格“Misquotations are the only quotations tha are never
手机版 网络编程 asp之家 www.aspxhome.com