Oracle数据表分区的策略
by access;'
spool off
正在看的ORACLE教程是:Oracle数据表分区的策略。本文描述通过统计分析出医院信息系统需分区的表,对需分区的表选择分区键,即找出包括在你的分区键中的列(表的属性),对大型数据的管理比较有意义, 本文的工作在Oracle8.1.6下实现。
audit select on ORDADM.ORDERS by access;
('ORDADM');
insert into aud_summary
set echo on feed on ver on
obj_name varchar2(30),
audit select on ORDADM.ORDERS_SHEET_IMAGE by access;
清除审核信息:
表1-2
Oracle虽然是一个大型的DBMS,但如果不对记录比较多的表进行处理,仍然发挥不了Oracle管理大型数据的强大功能,因此对某些表进行分区,具有如下优点:
GROUP_ORDER_MASTER ORDADM 1196
使用命令@ audoff.sql激活上述代码以关闭上述对象的审核功能。
2、基于列值选择分区键
create table aud_summary (
使用命令@audon.sql激活上述代码以打开审核功能收集收集审核信息,建立一个表以保存概要信息:
----------- ------------- ----------
where object_type in ('VIEW','TABLE') and owner in
from dba_objects
1、基于访问频度找出需分区的表
Oracle8i允许访问数据库中的审核信息,借助于收集的审核信息,设计者能够确定哪些表的数据是真正最频繁访问的,即找出那些表,需要进行分区。
from dba_objects
from dba_audit_object
audit select on ORDADM.GROUP_ORDER_MASTER by access;
select 'noaudit select on '||owner||'.'||object_name|| '
group by obj_name,owner;
使用Sql*plus下用命令Analyze收集末分区表的统计信息,按照Oracle推荐的取样20%进行分析,并将统计结果保存在数据字典中。
sample 20 percent;
Analyze table ORDADM.ORDERS estimate statistics
where object_type in ('VIEW','TABLE') and owner in
这些代码的运行将产生“audoff.sql”的输出文件。
group_order_master( 医嘱套攴主记录) 、group_order_item(医嘱套攴明细), 表的行数比较少,不适合分区;drug_stock(药品库存)虽然存取频率比较高,但表的行数比较少,因此也不适合分区。我们选择表的行数比较多、存取频率比较高的表作分区处理,如 doctor_orders、orders、orders_costs,考虑到doctor_orders是医生工作站上医生开的医嘱,orders是由doctor_orders生成、护士工作站上执行的医嘱,两个表结构类似,而医嘱与药品、卫生材料、计费联系比较密切的是Orders,因此重点介绍对表orders的处理。
打开审核:在作为SYS或SYSSTEM登录到数据库后,动行如下脚本,打开对象的审核功能。
分区表中每个分区可以在逻辑上认为是一个独立的对象;
select table_name,column_name,num_distinct
DOCTOR_ORDERS ORDADM 30309
本节描述通过统计分析出医院His系统需分区的表,对需分区的表找出包括在你的分区键中的列(表的属性),即选择分区键。
如果选择合适的分区策略,会大大的加快数据的查询速度。
col obj_name form a30
关闭审核:
('ORDADM');
audit select on ORDADM.DOCTOR_ORDERS by access;
分析审核信息
hits number);
where owner like 'ORDADM';
set echo off feed off ver off pages 0
一 找出需分区的表
spool off
从表1-2中,我们可以看到欲分区表的各个候选分区键的
表 行数 命中率 doctor_orders 2052709 30309 drug_stock 2511 11094 group_order_item 3800 1030 group_order_master 186 1196 orders 1633010 40421 orders_costs 2403214 10109
from DBA_TAB_COLUMNS
set echo on feed on ver on
col owner form a20
OBJ_NAME OWNER COUNT(*)
select obj_name,owner,count(*)
access;'
spool audoff.sql
这些代码的运行将产生“audon.sql”的输出文件,它包含下面清单中所示格式的语句
ORDERS_COSTS ORDADM 10109
GROUP_ORDER_ITEMS ORDADM 1030
set echo off feed off ver off pages 0
列 不同的值 PATIENT_ID 28720 VISIT_ID 2 ORDER_NO 395 ORDER_SUB_NO 10 ORDER_CLASS 9 ORDER_CODE 825 ORDER_TEXT 1551 ORDERING_DEPT 15 START_DATE_TIME 1194176 STOP_DATE_TIME 636798
可以在一个表中的一个或多个分区上进行如删除、移动、析分等维护操作,而不会影响其它分区,具有分区独立性;
对DBA_TAB_COLUMNS数据字典视图进行查询 [NextPage] 表1-1
audit select on ORDADM.VITAL_SIGNS_REC by access;
owner varchar2(30),
select 'audit select on '||owner||'.'||object_name||' by
col hits form 99,990
audit select on ORDADM.GROUP_ORDER_ITEMS by access;
delete sys.aud$
产生表1-2
DRUG_STOCK PHARMACY 11094
ORDERS ORDADM 40421
audit select on ORDADM.ORDERS_COSTS by access;
spool audon.sql
以上是HIS系统临床医嘱部分24小时内对表的访问情况,从上面的查询得表1-1。
相关热词: oracle
本站内容来源于网络,如有侵权请与我们联系,我们会及时删除,我们深感抱歉!
注:本站所有信息仅供用于网络技术学习参考,学习中请遵循相关法律法规!
本文地址: https://www.juheyunku.com/sql/oracle/1978.shtml
相关文章
热门TAG
命令 权重 外链 企业网站 白帽 php 织梦教程 dedecms修改内容 javascript 织梦 功能 标签 调用 详解 服务器 网站流量 实例解析 Dedecms 织梦cms HTML tags标签 python jquery教程 jquery windows SEO优化 蜘蛛 搜索引擎 网站收录 JSP最新文章
-
Window下Oracle Database 11g 发行
时间:2020-12-29
-
Oracle如何实现like多个值的
时间:2020-12-29
-
maven添加oracle依赖失败问题
时间:2020-12-29
-
OracleRAC基本概念及入门
时间:2020-12-29
-
Azure File Storage 基本用法
时间:2020-12-26
-
Oracle 权限(grant revoke)
时间:2020-12-26
-
Azure Queue Storage 基本用法
时间:2020-12-26
-
如何对比迁移前后的Orac
时间:2020-12-26
热门文章
-
Azure Queue Storage 基本用法 Azure Storage 之
时间:2020-12-26
-
Oracle存储过程编程详解
时间:2020-12-07
-
win10下oracle 11g安装图文教程
时间:2020-12-25
-
oracle 数据库学习 基本结构介绍
时间:2020-12-13
-
Azure File Storage 基本用法 Azure Storage 之 F
时间:2020-12-26
-
windows使用sqlpus连接oracle 数据库的教程图
时间:2020-12-25
-
Window下Oracle Database 11g 发行版2安装教程
时间:2020-12-29
-
Oracle解锁的方式介绍
时间:2020-12-14
-
linux下oracle设置开机自启动实现方法
时间:2020-12-13
-
Oracle学习记录之使用自定义函数和触发器
时间:2020-12-07
