老虎的写字本
===========================================================
今天给客户做了一次性能调整
===========================================================
客户是一危险品管理系统,JSP+Weblogic+Oracle db的架构

问题:

1 输入雷管信息时,由于生产量大,不可能逐条输入,他们采取输入开始、结束号码的方法,在前台产生一张号码列表供用户审核剔除缺号,再提交到数据库,但问题是这一提交在几万发雷管的情况下居然需要15分钟,让人等的不耐烦。

2 对于某指定单位的雷管列表查询要等几分钟才出结果,速度也慢

解决:

1 经与开发人员交谈和观察程序,发现他们在列表出来并经用户剔除缺号后的提交是用前台循环语句进行的,5万雷管就是5万次循环,每次循环都向db发出一条不同的sql语句,导致db不断的parse新的sql(Oracle只对文本内容完全相同的sql才使用cache中缓存的解析结果),在这里耗费了大量时间。后来建议他们改用存储过程,把起始值和终止值传递给存储过程,由存储过程直接在数据库里插入行,这样只须对存储过程解析一次,节省大量不必要的开销,实验后,所需要的时间缩短到几秒钟

2 这个问题很简单,在雷管信息表里对单位id列建立索引,使查询几乎可以瞬间完成

tigerfish 发表于:2004.11.13 23:10 ::分类: ( Oracle数据库 ) ::阅读:(34129次) :: 评论 (9)
[回复]

初看还以为客户是个危险人物...
呵呵.

husthxd 评论于: 2004.11.18 16:52
厉害呀 [回复]

smile

jlandzpa 评论于: 2004.12.17 21:28
嘻嘻 [回复]

幽默

木匠 评论于: 2005.02.16 11:32
[回复]

有做秀嫌疑 smile

myhuaer@sohu.com 评论于: 2005.08.31 11:20
hh [回复]

西门吹牛,久仰大名,经验果真丰富啊!^_^

fsm 评论于: 2005.10.21 09:53
hh [回复]

太少了吧,就这一篇!你应该向Eygle那小老虎看齐,别光学吹牛啊^_^.

fsm 评论于: 2005.10.21 09:58
^_^ [回复]

现在很久没做过Oracle方面的技术活了,只是偶尔作为一种闲时的消遣而已,而在花在ITPUB网站上的技术活又太琐碎,实在没心情一一写下,留给将来年轻人去写吧

老虎 评论于: 2005.11.03 20:29
[回复]

无语~~~~

brajxm 评论于: 2005.11.09 13:41
[回复]

好多的性能问题都出现在应用层上

chance 评论于: 2006.02.13 11:08

发表评论
标题

在此添加评论
表情符号: smile laughing tongue angry crying sad wassat wink

称呼

邮箱地址(可选)

个人主页(可选)

 authimage


切换风格
新闻聚合
博客日历
文章归档...
最新发表...
最新评论...
最多阅读文章...
最多评论文章...
博客统计...
网站链接...