加入收藏 | 设为首页 | 会员中心 | 我要投稿 武汉站长网 (https://www.027zz.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

优化Oracle SQL查询

发布时间:2021-01-24 03:32:27 所属栏目:百科 来源:网络整理
导读:您好我有一个SQL查询,我正在尝试优化.此查询在0.3秒内完成,但我需要为大量不同的storeId运行相同的查询 – 无论如何都要优化此查询以使其更快,或者更改它以便它立即获取所有storeIds. 我总是可以在C#中创建一个新命令,该命令与命令连接,使其成为大量不同查

您好我有一个SQL查询,我正在尝试优化.此查询在0.3秒内完成,但我需要为大量不同的storeId运行相同的查询 – 无论如何都要优化此查询以使其更快,或者更改它以便它立即获取所有storeIds.

我总是可以在C#中创建一个新命令,该命令与命令连接,使其成为大量不同查询的联合.

select /*+ PUSH_SUBQ */ *  
from mytable r
where r.s in (1,7)
and r.d in (1,75)
and r.storeid = 1162
and r.period = 20110528
and r.pid in (select /*+ no_unnest qb_name(subq1) */ 
productid from otherTable where itmid=9999)

我已经尝试过类似的东西,但这需要永远.

select  /*+ PUSH_SUBQ */ * 
    from mytable r
    where r.s in (1,7)
    and r.d in (1,75)
    and r.storeid in (1162,1223,1231,51231,231,...)
    and r.period = 20110528
    and r.pid in (select /*+ no_unnest qb_name(subq1) */ 
    productid from otherTable where itmid=9999)

MyTable有这样的索引:
pid是NON-UNIQUE,PARTITIONED,NO JOIN_INDEX
所有其他列都是UNIQUE,NO JOIN_INDEX

解决方法

尝试在查询上运行Oracle EXPLAIN PLAN.它应突出问题区域,并可能有助于缩小查询本身或要查询的表中的瓶颈.

使用EXPLAIN PLAN:
http://download.oracle.com/docs/cd/B10500_01/server.920/a96533/ex_plan.htm

(编辑:武汉站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读