环境说明:
新库:
DB:Oracle 11.2.0.4.0 RAC
OS:Redhat 7.6
原库:
DB:Oracle 11.2.0.4.0 单机
OS:AIX 5.1
本次案例是一次操作系统的升级和迁移,数据库架构发生了变化,数据库版本不变。
问题说明:
数据库迁移到新服务器后,某一张视图查询缓慢,原库查询耗时3分钟,新库查询5小时以上。
问题分析:
处理此类问题,常见思路如下:
1.分别对比原库和新库该SQL对应的执行计划。
2.对比两个执行计划,找到差异部分或最耗时的部分。
3.分析执行计划差异原因,根据原因尝试解决问题。
本次案例视图引用的SQL使用了28个union all组成,关联了30多张表。
在执行如下SQL时,新库会卡住很久,甚至无法返回结果。
select count(*) from v_cjc_01;
视图内SQL类似如下:
create or replace view v_cjc_01 as
select col1,col2,col3,...col10
from t1
where xxx=yyy
union all
select col1,col2,col3,...col10
from t2
where zzz=yyy
union all
......
union all
select col1,col2,col3,...col10
from

订阅专栏 解锁全文
972

被折叠的 条评论
为什么被折叠?



