论文写作规范毕业论文格式开题报告范文|MBA论文范文本科论文范文硕士论文范文博士论文范文

  • 在线提交留言
  • 工程硕士论文答辩样板_答辩PPT.ppt

    发布时间:2020-08-23 来源:www.boshuolunwen123.com  作者:博硕论文辅导网

      TAGS标签:研究生论文  免费论文  论文下载  写作辅导  论文写作  论文致谢  参考文献  开题报告  职称论文  毕业论文  论文模板  论文范文

    文档名称: 工程硕士论文答辩样板_答辩PPT.ppt
    专题分类: 论文答辩模板
    关键词: 工程硕士论文,答辩样板,答辩PPT.ppt
    文档类型: ppt
    下载所需积分:
    文件大小: 800.00 KB
    点击数: 5
    下载数: 1
    登陆用户: admin
    作 者 :
    下载地址: [ 下载地址1 ]
    发布时间: 2020-08-23
    文件简介:

    面向HIS应用的ORACLE数据库性能优化的研究与实现 答辩人: 指导老师: 工程领域:软件工程 答辩提纲: 之一:HIS系统数据库性能分析 之二:确定数据库性能指标评价体系 之三:数据库性能优化的主要解决思路 之四:ORACLE实例的体系结构和存储结构的优 化 之五:优化数据库对象 之六: SQL优化 之七:结论与探讨 HIS系统数据库性能分析 : HIS系统数据库具有的特点 : 高吞吐量,数据删除/更新/插入操作频繁 大量用户访问数据库 要求能高效、及时、准确进行数据查询反馈 HIS系统具有混合负载的功能 HIS系统数据库的性能特点 : 1.高吞吐量 本论文研究的对象-----第一医院核定床位760张,设病区22个,临床科室35个,医技科室14个。2005年医院全年门急诊量达110万人次,出院人数2.17万人次。 整个医院HIS的总表数达230张左右,2005年各类表格数据记录达到近8000万条 几个多月下来,光在门诊收费项目表中一般就有300万条左右的记录,运行一年以上的医院一般事务表的记录均在千万条以上,有的甚至在亿条以上。 3.要求能高效、及时、准确进行数据查询反馈 要求能高效、及时、准确进行数据查询反馈,如药品库存系统、门诊收费系统、住院收费、药房发药等等多种业务需要高效、及时的数据查询。 并且查询发生的频率非常高,因此对数据库的性能要求也非常高。 之一:HIS系统数据库性能分析 之二:确定数据库性能指标评价体系 之三:数据库性能优化的主要解决思路 之四:ORACLE实例的体系结构和存储结构的优 化 之五:优化数据库对象 之六: SQL优化 之七:结论与探讨 启示:获得满意的用户响应时间有两个途径 第一途径 减少系统服务时间,即提高数据库的吞吐量 第二途径 减少用户等待时间,即减少用户访问同一数据库资源的冲突率。 进一步分析影响数据库性能的因素 磁盘I/0竞争与负载均衡 回滚段竞争 表空间碎片 命中排序域的次数 SGA值 高速缓冲区命中率 共享池命中率 INIT. ORA中的参数 之一:HIS系统数据库性能分析 之二:确定数据库性能指标评价体系 之三:数据库性能优化的主要解决思路 之四:ORACLE实例的体系结构和存储结构的优 化 之五:优化数据库对象 之六: SQL优化 之七:结论与探讨 数据库性能优化的主要解决思路 1. 研究数据存储的优化 主要包括行迁移、行链接、空间碎片的最小化,区增长最小化以及确定代价最高的查询。 2. 跟踪调整SQL语句 3. 善于使用索引 随时间的增加,由于基础表所进行的插入/更新/删除导致叶子行在索引中被删除,使索引形成了碎片。由于大多数叶子行被删除而流下了未填满的空间,该索引开始出现碎片并使I/0成本增加。 4.优化环境 数据库性能优化的主要解决思路 小结 HIS系统性能优化分为四大部份, 一是与数据库的存储结构有关,包括物理结构与逻辑结构,如数据块,磁盘I/O,回滚段等; 二是与数据库的体系结构有关,如SGA值、共享池、高速缓冲区的命中率等; 三是与数据库对象优化有关,调整表、索引、视图及触发器。这些数据库对象优化包括防止对象状态的改变,比如防止产生分段、迁移等情况。 四是与数据库或应用程序有关的SQL语句的优化,如基于代价与基于开销的SQL语句比较等。 HIS系统数据库性能数据的采集 2.数据库缓冲高速缓冲区的效率 数据库缓冲区使用情况 数据库共享池使用情况 小结 用逻辑读操作减去物理读操作,用差值除以逻辑读即得到命中率。如果计算出的命中率低于95%,则表示系统存在着严重的性能问题,应该通过一些方法与手段来加以解决。如果命中率在70%以下,数据库将会非常缓慢。 性能调整的方法 采用自顶向下的调整方法,所谓自顶向下的方法即先看外部环境,即从网络、服务器、磁盘开始(这一部份,我们不作研究),然后调整ORACLE实例(包括SGA、后台进程),调整ORACLE实例,实际上就是对数据库系统的体系结构进行优化,接着优化数据库对象(表、索引、段),最后优化ORACLE的SQL语句 之一:HIS系统数据库性能分析 之二:确定数据库性能指标评价体系 之三:数据库性能优化的主要解决思路 之四:ORACLE实例的体系结构和存储结构的优 化 之五:优化数据库对象 之六: SQL优化 之七:结论与探讨 数据库实例 数据库的逻辑结构的分析优化 对表空间的合理估计与监控 在宁波市第一医院数据维护当中,我们用如下方法,对表空间进行监控: 指定表空间的初值。其值的大小应有一个合理的估计,如果太小的话,空间容易占满,如果太大的话,会造成较大空间的浪费。如在医院中的住院结帐费用ZYJZFY,把结算日期、工作编号、结算金额、自付金额和结算方式等信息写在一个表空间中,根据全年的统计,约有2.5万人,则每人按5K计算,那么不会超过200M SVRMGR>CREATE TABLESPACE zyjzfy DATAFILE ’/ORACLE/DATA/ ZYJZFY01.DBF' 200M, DEFAULT STORAGE(INITIAL 512K NEXT 512K MINEXTENTS 2 MAXEXTENTS UNLIMITED PCTINCREASE 0) ONLINE 动态监控表空间的大小: SELECT TABLESPACE_NAME, SUM(BYTES), MAX(BYTES), COUNT(*) FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME 7* ORDER BY TABLESPACE_NAME 数据库物理结构的分析优化 物理结构由数据文件、日志文件和控制文件三部分构成。 在MZCFMXXX表,即门诊处方明细信息表中,规定的INITIAL起始区间的大小为8M,假定数据库的大小为4KB,那么起始区间将包含2048个数据块。当段分配第二个区间时,ORACLE使用STORAGE参数中的NEXT参数来产生第二个区间的大小,即8M。 区间的大小设置,对性能有着重要的影响,特别是在全数据表扫描中。在全数据表扫描中,ORACLE运用多块读能力,一次扫描多个块。一次读的块的数目可以通过初始化参数INIT. ORA中的DB_ FILE_ MULTIBLOCK_ READ_ COUNT设置,也受系统缓冲区限置,即数据块与每块大小的积不能大于缓冲区的大小,如数据块大小为4K,缓冲区为64K,则每次只能读16个。 如果在MZCFMXXX表中第一个区间有2048个数据块,第二个区间有1024个数据块,如果高位标志定在第二个区间,则第一个区间读2048/16= 128次,第二个区间读1024/16= 64次,扫描整个表要读共192次。如果每个区间有同样的高标志位,把2个区间合并,一次读16块,也一样共读192次,与全表扫描所要读的次数是完全相同的,由此可见区间大小是关键,每个区间的大小必须是每个多块读参数DB_ FILE_MULTIBLOCK_ READ_ COUNT设置的块数的倍数。 假设MZCFMXXX段有192个区间,区间的DB_ FILE_MULTIBLOCK_READ_COUNT大小设置为16,如果每个区间有20块(而不是16块),可以计算读的次数。 MZCFMXXX数据表有3072块数据(12M ),如果每个区间有20块,那么需要154个区间来存储3072块数据。而在全表扫描过程中,当读第一个区间时,ORACLE将读区间的头16块,因为在这个区间还有4块,ORACLE将再读一次这个区间。读操作不能跨区间进行,所以第二次只能读4块,即20块的区间读了2次,所以MZCFMXXX全表扫描要308次,比以前的192次增加了60%。 第一医院ORACLE数据库行链接与行迁移的检测 检测数据库级的行链接的影响(快速估计方法) SELECT VALUE FROM V$SYSSTAT WHERE NAME='TABLE FETCH CONTINUED ROW' 宁波第一医院ORACLE数据库行链接(总体)情况: table fetch continued row 733317 (2)获得表的链接行的计数(到表级),使用ANALYZE来分析表 SELECT TABLE_ NAME, CHAIN_ CNT FROM USER_ TABLES WHERE CHAIN_ CNT>0; 我们在医院采集的部分表的连接行统计 Table_name chain_cnt MZSFSJ 94567 RSRYXX 6 YPKCSL 2345 ZYJESY 6875 防止和纠正行链接/迁移 1.通过分析表并将行列入CHAINED ROWS表来确定链接和迁移行 ANALYZE TABLE TABLE_NAME LIST CHAINED ROWS INTO CHAINED_ROWS 2.删除相应的链接/迁移行,如对住院病区床位表进行的处理: CREATE TABLE BQCW AS SELECT*FROM XTBQCW WHERE ROWID IN (SELECT HEAD_ROWID FROM CHAINED_ROWS WHERE TABLE_NAME= “XTBQCW”; DELETE FROM XTBQCW WHERE ROWID IN (SELECT HEAD_ROWID FROM CHAINED_ROWS WHERE TABLE_NAME='XTBQCW'); INSERT INTO XTBQCW SELECT * FROM BQCW; DELETE FROM CHAINED_ROWS WHERE TABLE_NAME='XTBQCW'; 行链接/迁移的处理技术 如对门诊处方明细信息表中行连接/迁移进行的处理如下: create table CHAINED_ROWS ( owner_name varchar2(30), table_name varchar2(30), cluster_name varchar2(30), partition_name varchar2(30), subpartition_name varchar2(30), head_rowid rowid, analyze_timestamp date ); analyze table MZCFMXXX list chained rows into chained_rows / select 'analyze table ' || MZCFMXXX ||' list chained rows into chained_rows;' from user_tables / (1)CREATE TABLE MZCFMXXX AS SELECT*FROM XT MZCFMXXX WHERE ROWID IN (SELECT HEAD_ROWID FROM CHAINED_ROWS WHERE TABLE_NAME= “MZCFMXXX”; (2)DELETE FROM XT MZCFMXXX WHERE ROWID IN (SELECT HEAD_ROWID FROM CHAINED_ROWS WHERE TABLE_NAME='XT MZCFMXXX '); (3)INSERT INTO XTBQCW SELECT * FROM MZCFMXXX; (4)DELETE FROM CHAINED_ROWS WHERE TABLE_NAME='XT MZCFMXXX '; 通过以上的实践分析,我们可以对行迁移与行链接进行总结: (1)行链接一旦出现,除了用较大的数据块尺寸重建数据库外,不能纠正。 (2)处理行链接的最好办法是防止它的出现。 (3)用较大的数据块尺寸创建数据库,只要最大行的尺寸不超过数据块的大小,将有助于防止行链接,然而数据块尺寸是数据库性能的主要部分,应该视总体情况决定。 (4)经历频繁更新活动的数据段最容易引起行链接。 (5)STORAGE子句的参数PCTFREE和PCTUSED的值对行迁移的影响最大。适当的设置这些值可以防止或使行迁移最小化,PCTFREE指定ORACLE为更新活动保留的数据块的存储空间的百分比。PCTFREE值应根据使用环境的类型(OLTP/OLAP)设为足够高,使更新活动不引起行迁移。 (6)使用ANALYZE命令方法或通过查询V$SYSSTAT视图,检查导致行迁移的繁重的表更新活动。 之一:HIS系统数据库性能分析 之二:确定数据库性能指标评价体系 之三:数据库性能优化的主要解决思路 之四:ORACLE实例的体系结构和存储结构的优 化 之五:优化数据库对象 之六: SQL优化 之七:结论与探讨 数据库对象包括表、聚集、索引、表空间 优化前关于索引的一个数据统计情况: index fast full scans (full) 6780639 index fast full scans (rowid ranges) 80615902 index fast full scans (direct read) 7396 index fetch by key 66432 index scans kdiixs1 5498412 由上述数据可以判断优化前的数据库系统发生的全表扫描和磁盘I/O严重制约了系统的响应时间,甚至发生过一条费用查询语句花费约15分钟才返回结果的现象。 优化的索引例子:第一医院门诊收费信息表和查询门诊收费信息明细表连接查询的例子: 1 select * from mzsfxx ,mzsfmxxx 2 where mzsfxx.no = mzsfmxxx.no and 3* mzsfxx.no = 2006011200001 SQL> / 已用时间: 00: 00: 00.03 Statistics ---------------------------------------------------------- 0 recursive calls 0 db block gets 9 consistent gets 0 physical reads 0 redo size 2090 bytes sent via SQL*Net to client 503 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 5 rows processed 我们通过解释计划看到(BY GLOBAL INDEX ROWID) OF 'MZSFXX' 、PK_MZSFXX' (UNIQUE)、(BY GLOBAL INDEX ROWID) OF 'MZSFMXXX'、'PK_MZSFMXXX' (UNIQUE)这些索引深刻地影响到系统的响应时间,使查询速度提升了一个数量级。 优化叶节点块 使用索引的目的是为了避免全表扫描,加快查询速度,在大型的表中进行索引的建立对加快表的查询有着重要的意义。但随着时间的增加,由于基础表所进行的插入/更新/删除导致叶子行在索引中被删除,使索引形成了碎片。由于大多数叶子行被删除而流下了未填满的空间,该索引开始出现碎片并使I/O成本增加。 在维护医院院数据库系统中,我们通过如下步骤: 使用验证索引命令对索引进行验证。这将有价值的索引信息写入 INDEX_STATS: SQL>VALIHXRQ INDEX INDEX_NAME: SELECT ‘VALIHXRQ INDEX’ || INDEX_NAME||’;’ FROM USER_INDEXES; 查询INDEX_ STATS表以确定索引中删除的及未填满的叶子行的百分比。 SQL>SELECT NAME,DEL_LF_ROWS,LF_ROWS,ROUND((DEL_LF_ROWS/(LF_ROWS+0.0000000001))*100) “frag percent” from INDEX_STATS; 之一:HIS系统数据库性能分析 之二:确定数据库性能指标评价体系 之三:数据库性能优化的主要解决思路 之四:ORACLE实例的体系结构和存储结构的优 化 之五:优化数据库对象 之六: SQL优化 之七:结论与探讨 SQL语句 首先通过ORACLE的PL/SQL界面或者应用程序传送到ORACLE服务器系统中进行处理,所有的语句分为三个阶段:语句分析,语句执行和读取数据。 语句分析是最花时间的处理过程,它是将SQL语句自底向上进行分析,将保留字与非保留字分开,再检查其语法是否正确,若正确则下一步根据数据字典中的统计信息确定运行方案,或是基于代价,或者基于规则的,总之选择代价最小,执行最快的,并且同时选择数据访问路径 检查效率不高的SQL语句: SQL> set autotrace trace only SQL> set timing on SQL> edit 已写入文件 afiedt.buf select * from mzsfxx ,mzsfmxxx where mzsfxx.no = mzsfmxxx.no and mzsfxx.no = 2006011200001 SQL>/ 已用时间: 00: 00: 00.03 合理设计索引

    下载说明:

    ☉本站发布文档基本属于原创论文,少量属于网友投稿。

    ☉范文仅供学习交流参考,严禁非法商业使用或传播!。

    ☉本站对原创论文拥有独家版权,任何人不得再次用于学位申请。

    ☉本站保留对一切违反版权保护行为追究法律责任权利。

    ☉如果遇到什么问题,请到本站管理员QQ735359099去咨询,我们将在那里提供更多、更好的资源!

    ☉原文地址:https://www.boshuolunwen123.com/download/dabian_PPT/241.html,如有转载请标明出处,谢谢。 您可能在寻找关于开题报告答辩PPT方面的范文,您可以到论文资料下载频道查找。

    在线咨询】【写作辅导】【论文检测】【论文改重】【论文翻译

    会员投稿】【范文模板】【开题报告】【资料下载】【提交留言

    发表评论 共有条评论
    用户名: 密码:
    验证码: 匿名发表
    论文写作指导
    论文在线咨询

    热门论文热门下载

    京ICP备18055229号