oracle 多表关联查询时 添加查询条件,查询速度变得极慢

verne0427 2015-06-15 03:04:36
有一 t_mer_info表,其中某列 bms_apply_type 为0、1和空

单表查询时速度很快
select * from t_mer_info tmi where  tmi.bms_apply_type = '0' and tmi.profit_status ='5'


但是当多表联合查询时 如果加上 bms_apply_type的约束条件,查询速度变得极其慢,去掉bms_apply_type 的约束条件 查询速度又很快。

select t.mer_no,
t.mer_name,
t.mer_address,
t.mer_contactor,
t.mer_mobile,
t.mer_tel,
t.mer_email,
t.mer_source,
t.profit_status,
t.bms_apply_type,
t.bms_mer_no,
hx.inst_no,
hx.supinstno,
hx.inst_name,
to_char(mp.CREATE_TIME, 'yyyy-MM-dd HH24:mi:ss') as create_time,
pa.ACCOUNT_NO,
pa.ACCOUNT_NAME
from t_mer_info t
inner join account.t_inst hx
on t.org_no = hx.inst_no
inner join t_mer_profitact mp
on t.id = mp.mer_id
inner join T_PROFIT_ACCOUNT pa
on mp.id = pa.PROFITACT_ID
where pa.DEFAULT_ACCOUNT = '1'
and t.bms_apply_type = '0'
and t.profit_status ='5'



请问各位大大 要怎么解决这个问题? 因为业务的需要,bms_apply_type 也必须要加上。。。
...全文
1360 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
IceIsabel 2015-06-15
  • 打赏
  • 举报
回复
用dblink就是这点不好,我之前也遇到过这种情况,也没有什么好的办法解决
看其他大神有没有好的方法
verne0427 2015-06-15
  • 打赏
  • 举报
回复
引用 7 楼 IceIsabel 的回复:
你这是访问远程数据库的表啊? 用dblink会有影响的
是的。。。各个环境用的数据库不同。。。 修改功能时发现这个sql 效率特表慢 然后想优化下,但测试好多方法 还是不行
IceIsabel 2015-06-15
  • 打赏
  • 举报
回复
你这是访问远程数据库的表啊? 用dblink会有影响的
verne0427 2015-06-15
  • 打赏
  • 举报
回复
引用 5 楼 IceIsabel 的回复:
空值比较是用is null 和 is not null,这不影响建索引,只是可能查询null的时候不走索引而已


按照那个建立索引 多表联合查询时 还是不走=-=


IceIsabel 2015-06-15
  • 打赏
  • 举报
回复
空值比较是用is null 和 is not null,这不影响建索引,只是可能查询null的时候不走索引而已
verne0427 2015-06-15
  • 打赏
  • 举报
回复
引用 3 楼 chengccy 的回复:
[quote=引用 2 楼 hwlzc116bluesky 的回复:] [quote=引用 1 楼 chengccy 的回复:] 在bms_apply_type 列上加上索引
这一列 的数据 有的为空。。。[/quote] 不影响你建索引[/quote] 但是当我查询 为空的数据时 就有影响吧。。。我查了下 oracle 空值与空值不等的
chengccy 2015-06-15
  • 打赏
  • 举报
回复
引用 2 楼 hwlzc116bluesky 的回复:
[quote=引用 1 楼 chengccy 的回复:] 在bms_apply_type 列上加上索引
这一列 的数据 有的为空。。。[/quote] 不影响你建索引
verne0427 2015-06-15
  • 打赏
  • 举报
回复
引用 1 楼 chengccy 的回复:
在bms_apply_type 列上加上索引
这一列 的数据 有的为空。。。
chengccy 2015-06-15
  • 打赏
  • 举报
回复
在bms_apply_type 列上加上索引

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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