首页 > 其他分享 >物化视图

物化视图

时间:2023-01-12 14:05:47浏览次数:60  
标签:serv SYSDATE loi1 视图 物化 os

前言

业务需求中,时常需要一些复杂查询的结果,然后复杂查询耗费时间,所以我们用物化视图,提高查询效率
物化视图最重要的功能和特性之一,就是其数据会随着基表(或称主表,master表)的变化而变,基表数据增了,物化视图数据会变多;基表数据删了,物化视图数据也会变少。

1.物化视图创建

定时 ON DEMAND物化视图 默认

定时更新数据,例如5min一次

create materialized view mv_runoverview
    REFRESH COMPLETE START WITH SYSDATE
    NEXT SYSDATE+10/(60 * 24)
    as 
    你的SQL语句;

注意:物化视图创建不能有子查询,所以你的优化自己的SQL

举例

这是我自己实业务中操作

create materialized view mv_runoverview
    REFRESH COMPLETE START WITH SYSDATE
    NEXT SYSDATE+10/(60 * 24)
    as
SELECT os.serv_name,
       os.serv_no,
       os.serv_id,
       NVL(ROUND ((SUM (loi1.PROCESS_TIME)/1000) / DECODE (SUM (loi1.run_times),0,1,SUM (loi1.run_times)),2),0) AS AVG_TIME,
       NVL(MAX (PROCESS_TIME),0)                                                             AS max_resp_time,
       NVL(MIN (PROCESS_TIME),0)                                                             AS min_resp_time,
       MAX (os.creation_date) create_date,
       COUNT(run_times) total_num,
       COUNT(DECODE(loi1.inst_status, '1', 1, null))  SUC_NUM,
       COUNT(DECODE(loi1.inst_status, '0', 1, null))  FAIL_NUM,
       os.category_level2
FROM DSGC_SERVICES os,
     DSGC_LOG_INSTANCE loi1
WHERE os.serv_status = '1'
  AND os.serv_no    = loi1.serv_no
GROUP BY os.serv_id,
         os.serv_name,
         os.serv_no ,os.category_level2;

效果

物化视图_其他

2.ON COMMIT物化视图

参考链接

 create materialized view mv_runoverview
   refresh force on commit 
   as 
   你的SQL语句; 

3.删除物化视图
drop materialized view mv_runoverview; 
4.物化视图介绍

百度:物化视图

送你一首歌:《盛夏的果实》 莫文蔚
附图:《悬崖上的金鱼姬》
物化视图_物化视图_02

标签:serv,SYSDATE,loi1,视图,物化,os
From: https://blog.51cto.com/u_15939406/6004101

相关文章

  • 第四章:视图层
    三板斧介绍"""HttpResponse 返回字符类型render 返回HTML页面,并且可以在返回浏览器之前给HTML文件传值redirect 重定向"""#视图函数必须要返回一个HttpResponse......
  • 输出二叉树的右视图
    题目要求题目链接思路分析方法一:刚开始做的时候没有什么思路,就采用了最笨的方法根据中序和先序求出二叉树得到层序遍历的结果得到每一层的最后一个元素方法比较笨......
  • DRF06-视图架构
    本文探究Django以及DRF的视图的层层递进,从源码学习视图的不断完善和丰富01最简单的视图FBVurlpatterns=[path('test01/',views.test01)]只要在浏览器上请求......
  • MySQL24 - 视图
    视图View使用简单、数据安全、数据独立=将SELECT语句封装视图(View)是虚拟存在的表,并不在数据库中真实存在,在使用视图时动态生成视图只保存查询的SQL逻辑,不保存查询......
  • Away3D之视图(View3D)
    package{importflash.display.Sprite;importflash.events.Event;importaway3d.containers.View3D;importaway3d.entities.Mesh;importaway3d.materials.Co......
  • sqlserver2019创建“可查询”“可创建视图”的用户
      ————————————(个人随笔,记录使用,仅供参考)一、SqlserverSSMS创建一个只读的用户1、用拥有管理权限的用户连接数据库(sa)2、选择“安全性”=》“登录名”=......
  • Django-restframework 视图类
    HTTP请求响应drf除了在数据序列化部分简写代码以外,还在视图中提供了简写操作。所以在Django原有的django.views.View类基础上,drf封装了多个视图子类供我们使用。Django-r......
  • 设置视图基础
    ctrlaltl自排版视图的宽高match_parent:表示与上级视图一致wrap_content:表示内容自适应dp:自设置  首先确保xml中是wrap_contentTextViewt=findViewId(R.i......
  • 从零开始学习 MySQL 系列--索引、视图、导入和导出
    前言上篇文章我们学习了数据库和数据表操作语句,今天我们学习下数据库索引,视图,导入和导出的知识。作为基础篇,不会涉及到关于索引和视图的高级应用和核心概念,但是基本操作大家......
  • Mysql 访问视图却报ERROR 1356 (HY000)错误
    目录1.适用范围2.问题概述3.问题原因3.1.通过root用户查询问题仍然存在,且所有视图问题都是相同的。3.2.root自己的创建的视图可以正常访问3.3.查看用户权限3.4.以为是权......