zoukankan      html  css  js  c++  java
  • Oracle- 优化SQL

    从2019年10月数据库存储设备出现故障,解决故障后,

    有个报表(View)从原来2分钟出结果变成60分钟出结果(500行).

    用户无法接受如此差的效率,天天要求IT进行改善。

    2020年元旦前做过优化行动,没完成就被中断,

    今天再次进行优化,

    步骤:

    1、分析执行计划,提取关键信息

    -- TABLE ASSCESS FULL TABLE: AR.RA_CUSTOMER_TRX_ALL RCT
    -- Cost: 5,286 Bytes: 887,835 Cardinality: 59,189

    创建两个

    INDEX 分別:
    CREATE INDEX AR.RA_CUSTOMER_TRX_N25 ON AR.RA_CUSTOMER_TRX_ALL
    (INTERFACE_HEADER_ATTRIBUTE6)
    CREATE INDEX AR.RA_CUSTOMER_TRX_N26 ON AR.RA_CUSTOMER_TRX_ALL
    (SET_OF_BOOKS_ID);

    2. 分析表的所有字段、所有索引字段、所有索引。

         analyze table AR.RA_CUSTOMER_TRX_ALL compute statistics;

    3、SQL Script中分四段,每段用UNION ALL并集,

    由此分段分析,

    第一、二段SQL SELECT 分别耗时9:45、9:50, 添加 HINT提示功能,如: (INDEX( WSH.WSH_NEW_DELIVERIES) ) ,

    调整WHERE条件后,分别提升到2分钟、45秒。

    再分析第三、四段 ,其效率在20秒内出结果,因此不优化三、四段SQL. 

    生成VIEW后,执行View查询只需要 21秒出结果(500行) .

    是否真的优化成功还是存在CACHE的优化假象? 观察三天吧。

    以下是在2020-03-13追加内容:

    在2020-03-03 优化SQL。

    经过10天的观察,SQL程式运行效率稳定在1分钟内出结果。

    用户反馈,给IT 点先赞。

    优质生活从拆开始
  • 相关阅读:
    演示使用string对象(续)
    P2216 [HAOI2007]理想的正方形 单调队列
    SP1805 HISTOGRA
    P4556 [Vani有约会]雨天的尾巴 树链剖分 线段树合并
    codeforces 600E 线段树合并
    HDU2197 本原串
    P3806 【模板】点分治1
    牛客10 Popping Balloons
    P3261 [JLOI2015]城池攻占 左偏树
    P4549 【模板】裴蜀定理
  • 原文地址:https://www.cnblogs.com/samrv/p/12398097.html
Copyright © 2011-2022 走看看