楼主: lfree

[原创] XXXX的LIS系统的性能问题

[复制链接]
论坛徽章:
194
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39奥运会纪念徽章:羽毛球
日期:2008-07-01 10:46:06奥运会纪念徽章:马术
日期:2008-07-07 17:43:24奥运会纪念徽章:射箭
日期:2008-07-25 18:07:39奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-30 10:02:57奥运会纪念徽章:花样游泳
日期:2008-09-26 13:02:43奥运会纪念徽章:排球
日期:2008-12-03 11:23:272010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:澳大利亚
日期:2010-02-26 11:08:44
51#
 楼主| 发表于 2008-11-27 08:19 | 只看该作者
》1.关于   like  %姓名 %   这种语句 ,模糊查询;在lis中无非也就是通过病人姓名查找检验结果的,lis也不可能是频繁的进行这种操作滴。
  因此,对数据库性能影响不大。

我们主要使用在发单处,相对还是很频繁的。对数据库性能影响目前看不出来。
就算要保持这种模糊查询的特性,应该有一个按钮来选择。

平时执行的是like '姓名%',  按下按钮时执行 like '%姓名%',在说了查询很少不知道一个人姓什么的。

使用道具 举报

回复
论坛徽章:
194
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39奥运会纪念徽章:羽毛球
日期:2008-07-01 10:46:06奥运会纪念徽章:马术
日期:2008-07-07 17:43:24奥运会纪念徽章:射箭
日期:2008-07-25 18:07:39奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-30 10:02:57奥运会纪念徽章:花样游泳
日期:2008-09-26 13:02:43奥运会纪念徽章:排球
日期:2008-12-03 11:23:272010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:澳大利亚
日期:2010-02-26 11:08:44
52#
 楼主| 发表于 2008-11-27 08:22 | 只看该作者
》2.关于索引,你删掉了很多,教科书上的说法不一定适用!根据你的lis运行时间以及业务特点,一次500000行的表扫描操作无论如何不会快,所以,对你来说(注意,是对你)重复,多余索引对系统性能影响应该不大。

至少日志会增大很快,特性像增长很快变化很多的表,插入,删除,update,都要产生大量日志。

另外选择率很低的列建立使用,oracle也许根本不会用。就算用,也许不如全表扫描。

使用道具 举报

回复
论坛徽章:
194
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39奥运会纪念徽章:羽毛球
日期:2008-07-01 10:46:06奥运会纪念徽章:马术
日期:2008-07-07 17:43:24奥运会纪念徽章:射箭
日期:2008-07-25 18:07:39奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-30 10:02:57奥运会纪念徽章:花样游泳
日期:2008-09-26 13:02:43奥运会纪念徽章:排球
日期:2008-12-03 11:23:272010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:澳大利亚
日期:2010-02-26 11:08:44
53#
 楼主| 发表于 2008-11-27 08:24 | 只看该作者
3.数据操作引起的日志增大。
其实最重要的是,我认为:就是大量存储过程的嵌套使用,以及中间临时表的产生。这是最要命的!

我仔细权衡我们的系统,临时表导致的日志增大最多一天也就是80-100M这个数量。
我不认为目前我们系统的日志高主要是临时表在起主要作用。我目前还在看与研究。

使用道具 举报

回复
论坛徽章:
194
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39奥运会纪念徽章:羽毛球
日期:2008-07-01 10:46:06奥运会纪念徽章:马术
日期:2008-07-07 17:43:24奥运会纪念徽章:射箭
日期:2008-07-25 18:07:39奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-30 10:02:57奥运会纪念徽章:花样游泳
日期:2008-09-26 13:02:43奥运会纪念徽章:排球
日期:2008-12-03 11:23:272010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:澳大利亚
日期:2010-02-26 11:08:44
54#
 楼主| 发表于 2008-11-27 08:25 | 只看该作者
》对于你做的优化,我认为对于数据库性能的提高也只能提高最多5%。。。。。
我认为不止5%。

使用道具 举报

回复
论坛徽章:
194
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39奥运会纪念徽章:羽毛球
日期:2008-07-01 10:46:06奥运会纪念徽章:马术
日期:2008-07-07 17:43:24奥运会纪念徽章:射箭
日期:2008-07-25 18:07:39奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-30 10:02:57奥运会纪念徽章:花样游泳
日期:2008-09-26 13:02:43奥运会纪念徽章:排球
日期:2008-12-03 11:23:272010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:澳大利亚
日期:2010-02-26 11:08:44
55#
 楼主| 发表于 2008-11-27 10:54 | 只看该作者
通过存储过程简化开发代码,通过视图进行多表的关联这种开发技术是最差劲的!为了代码易于修改,于是写大量的存储过程,用户所需数据
不能直接产生,单张表信息过于简化,就通过临时表汇总处理,每进行一次汇总或者查询统计就执行一次存储,重复的删除,创建临时表,
数据库单张表记录数应该处于一个比较低的数量级的时候这确实是个好办法,但随着记录数不断增加,导致数据库性能会很差!大部分资源在
数据库进行处理,白白浪费了客户机的资源。

因此,对于你做的优化,我认为对于数据库性能的提高也只能提高最多5%。。。。。(类似的情况我也碰到过,哎)


我感觉你讲的这些,应该针对的是ms sql ,而不是oracle。

使用道具 举报

回复
论坛徽章:
0
56#
发表于 2008-11-27 11:51 | 只看该作者
原帖由 lfree 于 2008-11-27 08:24 发表
3.数据操作引起的日志增大。
其实最重要的是,我认为:就是大量存储过程的嵌套使用,以及中间临时表的产生。这是最要命的!

我仔细权衡我们的系统,临时表导致的日志增大最多一天也就是80-100M这个数量。
我不认为目前我们系统的日志高主要是临时表在起主要作用。我目前还在看与研究。





看来楼主的确比拉里·埃利森还厉害~优化一下数据库,应用就能飞起来,呵呵,牛......................

使用道具 举报

回复
论坛徽章:
194
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39奥运会纪念徽章:羽毛球
日期:2008-07-01 10:46:06奥运会纪念徽章:马术
日期:2008-07-07 17:43:24奥运会纪念徽章:射箭
日期:2008-07-25 18:07:39奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-30 10:02:57奥运会纪念徽章:花样游泳
日期:2008-09-26 13:02:43奥运会纪念徽章:排球
日期:2008-12-03 11:23:272010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:澳大利亚
日期:2010-02-26 11:08:44
57#
 楼主| 发表于 2008-11-28 08:17 | 只看该作者
拉里·埃利森并不做技术的。

也许lxh504 认为是不可能有这样的提高,实际的例子有许多的。

使用道具 举报

回复
论坛徽章:
194
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39奥运会纪念徽章:羽毛球
日期:2008-07-01 10:46:06奥运会纪念徽章:马术
日期:2008-07-07 17:43:24奥运会纪念徽章:射箭
日期:2008-07-25 18:07:39奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-30 10:02:57奥运会纪念徽章:花样游泳
日期:2008-09-26 13:02:43奥运会纪念徽章:排球
日期:2008-12-03 11:23:272010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:澳大利亚
日期:2010-02-26 11:08:44
58#
 楼主| 发表于 2008-11-28 14:48 | 只看该作者
0.我使用的是11G.
1。 建立一个临时表:
CREATE GLOBAL TEMPORARY TABLE SCOTT.TEMP_TEST
(
  A  VARCHAR2(30 BYTE)                          NOT NULL,
  B  VARCHAR2(2000 BYTE)
)
ON COMMIT PRESERVE ROWS
NOCACHE;

alter system switch logfile ;

这样可以做到8k的数据块,仅仅放入3条记录。

2.插入记录6条,并且删除6记录:
set autotrace traceonly ;
INSERT INTO temp_test (a, b) SELECT TO_CHAR (SYSDATE, 'YYYYMMDD') || 'XXXX' || LPAD (ROWNUM, 4, '0'), LPAD ('A', 2000, 'A') FROM emp,emp,emp,emp where rownum<=&N;

产生的redo大小:        568  redo size

delete from temp_test ;

产生的redo大小:      13460  redo size

可以发现delete日志很大。

[ 本帖最后由 lfree 于 2008-11-28 15:05 编辑 ]

使用道具 举报

回复
论坛徽章:
194
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39奥运会纪念徽章:羽毛球
日期:2008-07-01 10:46:06奥运会纪念徽章:马术
日期:2008-07-07 17:43:24奥运会纪念徽章:射箭
日期:2008-07-25 18:07:39奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-30 10:02:57奥运会纪念徽章:花样游泳
日期:2008-09-26 13:02:43奥运会纪念徽章:排球
日期:2008-12-03 11:23:272010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:澳大利亚
日期:2010-02-26 11:08:44
59#
 楼主| 发表于 2008-12-2 14:53 | 只看该作者
还是对比图来说明吧,实际上如果有使用对方产品的,也拿出来晒晒就知道,看看awr报表或者这些图就很清楚。
说明一下,系统最近升级的,使用10g,os :2003 R2 64bit企业版。 内存8G。做了DG。
原来系统内存2G,windows 2003R1,32bit的。

数据块升级后我使用16K的。逻辑读平均在700上下(也许与原来对比要乘2)。
从等待事件看,都是黄色其它的事件,主要是与dg有关的事件。

cursor_sharing=force

snapa.jpg (90.07 KB, 下载次数: 34)

snapa.jpg

snapb.jpg (49 KB, 下载次数: 44)

snapb.jpg

snapc.jpg (40.88 KB, 下载次数: 44)

snapc.jpg

使用道具 举报

回复
论坛徽章:
194
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39奥运会纪念徽章:羽毛球
日期:2008-07-01 10:46:06奥运会纪念徽章:马术
日期:2008-07-07 17:43:24奥运会纪念徽章:射箭
日期:2008-07-25 18:07:39奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-30 10:02:57奥运会纪念徽章:花样游泳
日期:2008-09-26 13:02:43奥运会纪念徽章:排球
日期:2008-12-03 11:23:272010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:澳大利亚
日期:2010-02-26 11:08:44
60#
 楼主| 发表于 2008-12-2 14:59 | 只看该作者
awr报表前面的部分:

snapd.jpg (64.88 KB, 下载次数: 48)

snapd.jpg

snape.jpg (40.36 KB, 下载次数: 42)

snape.jpg

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表