请教:oracle不同小版本同语句调用速度变慢

[复制链接]
查看11 | 回复5 | 2013-8-26 10:08:51 | 显示全部楼层 |阅读模式
各位大侠,帮我看看这个该怎么处理:
在10.2.0.1版本下运算速度不错,但在10.2.0.4的版本中速度慢近二十多倍,请问是什么缘故?如何处理?
select distinct(patient_id)
from
(select patient_id,visit_id,item_code,item_spec,sum(amount)

from inp_bill_detail

where ITEM_CLASS ='A' and substr(ITEM_CODE,1,2) in (:ls_drug_master)

and ordered_by in (select dept_code from inq_dept_dict

where hospital_part_code like :hos_name )

and patient_id in (select patient_id from v_bedpats_in_hospital

where dept_code is not null

and stat_DATE_TIME >=trunc(:ld_fr_date)

and stat_DATE_TIME =:ld_fr_date and BILLING_DATE_TIME0) aaa
结果:
10.2.0.4


10.2.0.4.png (67.84 KB, 下载次数: 4)
下载附件
2013-10-26 20:57 上传

10.2.0.1


10.2.0.1.PNG (77.86 KB, 下载次数: 3)
下载附件
2013-10-26 20:57 上传



回复

使用道具 举报

千问 | 2013-8-26 10:08:51 | 显示全部楼层
执行计划怎么变化这么大,视图结构有变化?
回复

使用道具 举报

千问 | 2013-8-26 10:08:51 | 显示全部楼层
图片不好比较分析
建议贴两个执行计划的文本出来
回复

使用道具 举报

千问 | 2013-8-26 10:08:51 | 显示全部楼层
另外,跑的时候慢的那个sql等待事件是什么
长时间在哪一步停留
相关库表数据量和统计信息也提取出来这样有助于大家帮你分析
回复

使用道具 举报

千问 | 2013-8-26 10:08:51 | 显示全部楼层
长时间停留在哪一步,可以在网上找找 有一张视图 记录当前sql执行进度的我忘了名字了
回复

使用道具 举报

千问 | 2013-8-26 10:08:51 | 显示全部楼层
还有你的硬件环境是什么样的两个数据库同一台机还是不同机 不同数据库? 不同机的话,机器配置是不是一样的
数据库参数设置是不是一样的
==========================
设置set autotrace on
把两个sql执行完后的信息也发出来参考一下
回复

使用道具 举报

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

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行