zoukankan      html  css  js  c++  java
  • 物化视图索引引发的问题

      在一次上线升级后发现业务异常,一个查询接口不能用了,定位发现数据库异常,排查后惊奇的发现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表建索引就可以了,它相当于就对物化视图建了索引。

  • 相关阅读:
    hdu1814 Peaceful Commission 2-SAT
    上传下载文件
    文件下载类
    文件操作类
    MD5加密帮助类
    加密解密类
    发送邮件函数
    DataTable 分页
    服务器缓存帮助类
    Cookie帮助类
  • 原文地址:https://www.cnblogs.com/wuxun1997/p/6383940.html
Copyright © 2011-2022 走看看