• 物化视图索引引发的问题


      在一次上线升级后发现业务异常,一个查询接口不能用了,定位发现数据库异常,排查后惊奇的发现Oracle数据库的cpu使用率竟然达到了100%!再回头看这次改动的脚本,只有一个物化视图的重建而已。因为源库的表新加了一个字段,所以需要把本地数据库原物化视图删掉重建:

    drop materialize view mv_wlf_charge;
    
    drop table mv_wlf_charge;
    
    create table mv_wlf_charge as
    
    select "t_wlf_charge"."id" "id", "t_wlf_charge"."code" "code" from t_wlf_charge@DBLINK_WLF;
    
    create materialize view mv_wlf_charge
    
    on public table refresh fast on demand
    
    start with to_date('09-02-2017 21:09:00', 'DD-MM-YYYY HH24:MI:SS') NEXT SYSDATE + 1/144
    
    as select "t_wlf_charge"."id","t_wlf_charge"."code" from "t_wlf_charge".DBLINK_WLF "t_wlf_charge";

      因为物化视图创建后会生成一个同名的表,所以这里的脚本也操作了该表。但因为mv_wlf_charge表是个大表,接口调用量大,导致该表查询非常频繁,所以数据库立马就hold 不住了。其实原来被drop的物化视图是有索引的,这一重建把索引整没了。重新对mv_wlf_charge表建索引就可以了,它相当于就对物化视图建了索引。

  • 相关阅读:
    Python3.6中PyInstaller不能对文件进行打包问题
    itchat和matplotlib的结合使用爬取微信信息
    NumPy笔记
    Spyder在windows下常用快捷键
    React 省市区三级联动
    react-router 4.0中跳转失灵
    React+ajax+java 上传图片并预览
    CMDB与自动化运维,一切尽在掌握中?
    XSS跨站脚本攻击
    shell脚本?
  • 原文地址:https://www.cnblogs.com/wuxun1997/p/6383940.html
Copyright © 2020-2023  润新知