首页
网页制作
网络编程
脚本专栏
数据库
网站运营
网络安全
平面设计
CMS教程
搜索
建站极客
数据库
oracle
正文
Oracle 数据表分区的策略
所属分类:
数据库
/
oracle
阅读数: 81
收藏 0
赞 0
分享
正在看的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建立散列子分区,每月的数据形成一个组合分区,会使每个分区的记录数分布均匀、查询速度提高、易于备份和删除。因为大多数的统计和查询是在一个月的范围内,而且从实际的查询效果看,跨月和跨年数据的统计和查询速度,也比未分区的时候大大缩短,效果非常明显。
更多精彩内容
其他人还在看
VS2015连接Oracle数据库的详细步骤
这篇文章主要介绍了VS2015连接Oracle数据库的详细步骤,需要的朋友可以参考下
评论 0
收藏 0
赞 0
分享
常用的Oracle doc命令(收藏)
这篇文章主要介绍了常用的Oracle doc命令(收藏)的相关资料,非常不错,具有参考借鉴价值,需要的朋友参考下吧
评论 0
收藏 0
赞 0
分享
ORACLE SQL语句优化技术要点解析
这篇文章主要介绍了ORACLE SQL语句优化技术的相关内容,小编觉得挺不错的,在这里分享给大家,需要的朋友可以参考下。
评论 0
收藏 0
赞 0
分享
ORACLE多条件统计查询的简单方法
这篇文章主要介绍了ORACLE多条件统计查询的简单方法,具有一定参考价值。这里给大家分享下,希望对大家有所帮助。
评论 0
收藏 0
赞 0
分享
ORACLE批量导入图片到BLOB字段代码示例
这篇文章主要介绍了ORACLE批量导入图片到BLOB字段代码示例,此代码示例是文章作者的项目源码,具有一定参考价值,需要的朋友可以了解下。
评论 0
收藏 0
赞 0
分享
PLSQL Developer登录的默认密码介绍
这篇文章主要介绍了PLSQL Developer登录的默认密码介绍,具有一定参考价值,需要的朋友可以了解下。
评论 0
收藏 0
赞 0
分享
Oracle数据行拆分多行方法示例
oracle数据库使用过程中,怎样将一行或者多行数据分割成需要的多行数据,本文我们就来看看具体方法,需要的朋友可以参考。
评论 0
收藏 0
赞 0
分享
Oracle表空间不足的两种解决办法
这篇文章主要介绍了Oracle表空间不足的两种解决办法,需要的朋友可以参考下
评论 0
收藏 0
赞 0
分享
巧妙解决Oracle NClob读写问题(经验分享)
下面小编就为大家带来一篇巧妙解决Oracle NClob读写问题(经验分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
评论 0
收藏 0
赞 0
分享
oracle执行update语句时卡住问题分析及解决办法
这篇文章主要介绍了oracle执行update语句时卡住问题分析及解决办法,涉及记录锁等相关知识,具有一定参考价值,需要的朋友可以了解。
评论 0
收藏 0
赞 0
分享
查看更多
网络赚钱
更多
调查:55.2%受访用户不会相信朋友圈打广告的化妆品
怎么才能做好移动互联网营销?
Google
电脑系统下载类网站是怎么赚钱的?浅析电脑系统下载类网站的赚钱方式
站长必看:让你的网站多一种赚钱方法
草根站长靠什么赚钱?什么样的人能成为赚钱的草根站长?
站长故事
更多
站长故事:一个80后妈妈的微商之旅
奇幻咔咔3D小熊孟得明 揭秘瞬间火爆网络的背后故事
某个人站长怎么用交友网站年赚80万的
从事SEO行业五年:我已经正在慢慢的走向衰亡
华人首富李嘉诚投资互联网的故事
站长从菜鸟到资深必经过程