医保查询每天第一次非常慢,之后就越来越快恢复正常

幻向 2011-08-24 01:55:06
我们医院的系统7月份从8I升级到11G,之前用的医保对照系统都正常,查询都很快。升级后就发现每天第一次是非常慢的,往往超过半个小时,之后就越来越快。不知道什么原因。

按理说ORACLE是sql查询第一次慢,之后由于sql会存于语言池就越来越快,但是这个系统却是每天都如此循环。请各位帮忙看看 可能出问题是哪方面
...全文
270 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
飞过海啊lsq 2011-08-25
  • 打赏
  • 举报
回复
关注中....
spark_li 2011-08-25
  • 打赏
  • 举报
回复
关注,看看楼主最后怎么解决的
新丁11111 2011-08-25
  • 打赏
  • 举报
回复
关注。。。。。。
maitianhust 2011-08-24
  • 打赏
  • 举报
回复
8I到11G跨度很大,经常出现的,那是故障了,要查查。
caihua2009111 2011-08-24
  • 打赏
  • 举报
回复
用跟踪文件看看,说不定能发现问题
weiranth 2011-08-24
  • 打赏
  • 举报
回复
假如说是每天这样就很奇怪了~~
llshan 2011-08-24
  • 打赏
  • 举报
回复
再次说明 hospital 是指用户名
llshan 2011-08-24
  • 打赏
  • 举报
回复
执行存储过程时可能会要花费一定的时间
llshan 2011-08-24
  • 打赏
  • 举报
回复
我也是做医院信息管理系统的,楼主的问题跟我以前遇到的问题有类似之处,我们之前重装ORACLE,导入数据后,程序里有某些地方第一次操作时都比较慢,之后就快了。对于这种问题可能是ORALCE的统计信息没有更新,更新一下统计信息应该就可以解决了。操作如下
在PL/SQL里执行以下存储过程
begin

dbms_stats.gather_schema_stats ('hospital',dbms_stats.auto_sample_size);
end;

希望对你有帮助!
幻向 2011-08-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 benchim888 的回复:]

对数据库表进行analyze,oracle根据统计结果进行执行计划的制定,有可能会不走你预先想让他走的索引。
但是随着查询的进行缓存中数据的增加,执行速度又上升了。


引用 4 楼 gherry 的回复:
引用 3 楼 benchim888 的回复:

数据库从10g开始每天会有一个定时任务定时分析表里的数据,以确定执行计划的执行(cbo)
8i的查询是基于rbo的,没有定时任……
[/Quote]

当然不会每天重启了 数据库很少重启的
yixilan 2011-08-24
  • 打赏
  • 举报
回复
[Quote=引用楼主 gherry 的回复:]
我们医院的系统7月份从8I升级到11G,之前用的医保对照系统都正常,查询都很快。升级后就发现每天第一次是非常慢的,往往超过半个小时,之后就越来越快。不知道什么原因。

按理说ORACLE是sql查询第一次慢,之后由于sql会存于语言池就越来越快,但是这个系统却是每天都如此循环。请各位帮忙看看 可能出问题是哪方面
[/Quote]
这个好象是正常现象。
数据库每天都重启么?如果每天重启或者每天定时清空一些缓冲区的话,它会把头一天存在缓存里的已经分析好的SQL之类的,都清除掉,然后每天第一次运行的时候,再针对SQL进行重新分析。这样真的是很慢的。
BenChiM888 2011-08-24
  • 打赏
  • 举报
回复
对数据库表进行analyze,oracle根据统计结果进行执行计划的制定,有可能会不走你预先想让他走的索引。
但是随着查询的进行缓存中数据的增加,执行速度又上升了。


[Quote=引用 4 楼 gherry 的回复:]
引用 3 楼 benchim888 的回复:

数据库从10g开始每天会有一个定时任务定时分析表里的数据,以确定执行计划的执行(cbo)
8i的查询是基于rbo的,没有定时任务分析表中数据,怀疑是这个问题。


能详细一点吗?这个任务主要会导致什么情况产生
[/Quote]
幻向 2011-08-24
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 benchim888 的回复:]

数据库从10g开始每天会有一个定时任务定时分析表里的数据,以确定执行计划的执行(cbo)
8i的查询是基于rbo的,没有定时任务分析表中数据,怀疑是这个问题。
[/Quote]

能详细一点吗?这个任务主要会导致什么情况产生
BenChiM888 2011-08-24
  • 打赏
  • 举报
回复
数据库从10g开始每天会有一个定时任务定时分析表里的数据,以确定执行计划的执行(cbo)
8i的查询是基于rbo的,没有定时任务分析表中数据,怀疑是这个问题。

幻向 2011-08-24
  • 打赏
  • 举报
回复
[Quote=引用楼主 gherry 的回复:]
我们医院的系统7月份从8I升级到11G,之前用的医保对照系统都正常,查询都很快。升级后就发现每天第一次是非常慢的,往往超过半个小时,之后就越来越快。不知道什么原因。

按理说ORACLE是sql查询第一次慢,之后由于sql会存于语言池就越来越快,但是这个系统却是每天都如此循环。请各位帮忙看看 可能出问题是哪方面
[/Quote]

跟这个有关系吗,目前是32G内存 16G SGA
caoleione 2011-08-24
  • 打赏
  • 举报
回复
查看一下SGA参数配置 适当调整

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧