10g迁移到11g查询变得很慢
10g是32位的服务器配置为:CPU E5520*2 内存8G win2003
11g是64位的服务器配置为:CPU E5-4607*2 内存32G win2008r2
同样的查询语句
select A.*, B.*, C.*, D.*
from MTR_RPT_CELL_E A,
Mtr_RPT_BASE B,
Sys_v_SecurityUsers C,
Sys_v_District D
where A.RptID = B.ID
And B.UserID = C.EMDID
And B.DistrictID = D.DistrictID
And D.Class <= 3
And B.TemplateID = 21
Sys_v_SecurityUsers,Sys_v_District为视图。
在10g中执行5秒,而在11g中半个小时都查询不出来。
------解决方案--------------------对比执行计划
------解决方案--------------------奇怪的事情.. 为什么迁移至后很多都是走了索引,但是10G下面,全表扫描的方式反而要快一些?
LZ查询出结果集的大小?
是否有锁资源?
对涉及到的表做一下表分析呢?
------解决方案--------------------show parameter optimizer_mode;
看下优化器模式
------解决方案--------------------这样的情况,我更加不觉得应该是头痛医头脚痛医脚,而是要根据awr等信息,具体分析,对比
优化应该不难