楼主: mypengchen2000

[精华] 存储过程的效率问题!!(今晚在线等)

[复制链接]
论坛徽章:
0
31#
 楼主| 发表于 2003-7-1 21:19 | 只看该作者
自己顶一下!

使用道具 举报

回复
论坛徽章:
2
会员2006贡献徽章
日期:2006-04-17 13:46:342009日食纪念
日期:2009-07-22 09:30:00
32#
发表于 2003-7-2 00:14 | 只看该作者
做一个statspack吧,在 两次之间,运行你的存储过程

使用道具 举报

回复
论坛徽章:
0
33#
发表于 2003-7-2 00:27 | 只看该作者
是否可以考虑做个trace, 运行一段时间后看看到底在什么地方花费的时间过长了。

使用道具 举报

回复
论坛徽章:
0
34#
 楼主| 发表于 2003-7-2 09:02 | 只看该作者
我昨天晚上开始跑的,结果到今天早上还没跑出来!原来只有一个小时不到的啊!!
因为我的sql里面确实有较多的关联和union all等操作,真的是否应该加大那些area_size之类的大小呢????这几个参数的大小,我已经在上面帖出来了

使用道具 举报

回复
论坛徽章:
86
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20咸鸭蛋
日期:2012-05-08 10:27:19版主8段
日期:2012-05-15 15:24:112013年新春福章
日期:2013-02-25 14:51:24
35#
发表于 2003-7-2 09:35 | 只看该作者

做statspack

做trace
检查 动态性能视图,都是可行的办法
但是,这个过程对于熟悉的人来简单,要在这上面引导一步一步的做就很麻烦了

至于freelists的问题,如果你要弄个明白,你可以去很多网站搜索相关问题
比如 http://asktom.oracle.com

我只能告诉你,增大freelists 基本没有什么坏处
并且怀疑你的问题就存在于这里

sort_area_size and  hash_area_size 得根据你的系统内存的状况来调整,如果可能的话
可以在存储过程中一开始运行
execute immediate 'alter session set sort_area_size = 5120000';
execute immediate 'alter session set hash_area_size = 5120000';



如果你对这些建议心里没有把握持怀疑态度
那建议你去 http://asktom.oracle.com 提问
信他的建议99.9%是没有错的,至少他的建议不会危及你的数据库

使用道具 举报

回复
论坛徽章:
0
36#
 楼主| 发表于 2003-7-2 09:45 | 只看该作者
谢谢各位的回答以及建议,我会根据各位的建议再去尝试,希望今天能有好的消息!!再次多谢!!

使用道具 举报

回复
论坛徽章:
8
授权会员
日期:2005-10-30 17:05:33奥运会纪念徽章:跳水
日期:2008-05-26 09:14:52奥运会纪念徽章:曲棍球
日期:2008-06-13 13:35:53奥运会纪念徽章:铁人三项
日期:2008-08-28 09:18:09生肖徽章2007版:马
日期:2009-09-08 11:21:202010年世界杯参赛球队:塞尔维亚
日期:2010-03-11 19:05:042011新春纪念徽章
日期:2011-02-18 11:43:33迷宫蛋
日期:2013-01-15 09:40:02
37#
发表于 2003-7-2 10:17 | 只看该作者
如果以前没有对相关的表进行过分析,建议可以执行一下analyze table table_name delete statistics

使用道具 举报

回复
论坛徽章:
11
授权会员
日期:2005-10-30 17:05:33ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44会员2007贡献徽章
日期:2007-09-26 18:42:10嫦娥
日期:2006-09-26 17:31:50生肖徽章:马
日期:2006-09-07 17:03:44生肖徽章:狗
日期:2006-09-07 10:14:30生肖徽章:鼠
日期:2006-09-06 21:17:11生肖徽章:兔
日期:2006-09-06 21:16:33ITPUB元老
日期:2006-08-24 11:59:54会员2006贡献徽章
日期:2006-04-17 13:46:34
38#
发表于 2003-7-2 10:29 | 只看该作者
请问楼上给出的查询语句中有一个条件为
v$lock.type='TX'
不知道 'TX'代表啥意思呢?有没有人愿意解释一下呢?谢谢啦。

使用道具 举报

回复
论坛徽章:
0
39#
发表于 2003-7-2 10:38 | 只看该作者
'TX'
代表一个表的锁的类型

使用道具 举报

回复
论坛徽章:
0
40#
发表于 2003-7-2 10:54 | 只看该作者
Freelists对于有效地重新使用Oracle表空间中的空间是很重要的,它和pctfree及pctused这两个存储参数的设置直接相关。通过将pctused设置为一个高的值,这时数据库就会尽快地重新使用块。不过,高性能和有效地重新使用表的块是对立的。在调整Oracle的表格和索引时,需要认真考虑究竟需要高性能还是有效的空间重用,并且据此来设置表的参数。
但是究竟如何就楼主提出的问题进行调优呢?有哪位高手不吝赐教么?

使用道具 举报

回复

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

本版积分规则 发表回复

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