• 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 点先赞。

    优质生活从拆开始
  • 相关阅读:
    Script.NET Perl解释器代码已经在GitHub开源发布
    hdu 1754 I Hate It (splay tree伸展树)
    【读书笔记】淘宝技术这十年
    raid*
    点到点,端到端概念
    Linux下oracle导入(exp)导出(imp)出现"Failed to open ...for reader/write"错误
    gpgcheck
    linux硬件时间修改与查看
    oracle makefile
    linux rar工具
  • 原文地址:https://www.cnblogs.com/samrv/p/12398097.html
Copyright © 2020-2023  润新知