sql >> Database >  >> RDS >> Oracle

Gematerialiseerde weergave creëren die elke 5 minuten wordt vernieuwd

Ik heb in stappen gedemonstreerd waarbij een gematerialiseerde weergave na elke one minute . wordt vernieuwd , voor het hebben van een mv die na 5 minuten ververst, gebruik next(sysdate+5/1440)

Stap1:

Create table temp (A int);

Stap2:

Create Materialized view temp_mv
      refresh complete start with (sysdate) next  (sysdate+1/1440) with rowid
        as select * from temp;

Stap 3:

select count(*) from temp;

       COUNT(*)
      ----------
          0

Stap4:

select count(*) from temp_mv;

       COUNT(*)
       ----------
          0

Stap 5:

begin
      for i in 1..10 loop
         insert into temp values (i+1);
      end loop;
end;
/

Stap6:

commit;

Stap7:

select count(*) from temp;

      COUNT(*)
     ----------
        10

Stap8:

select count(*) from temp_mv;

       COUNT(*)
       ----------
          0

Stap9:

select to_char(sysdate,'hh:mi') from dual;

       TO_CH
       -----
       04:28

Stap10:

select to_char(sysdate,'hh:mi') from dual;

       TO_CH
        -----
       04:29

Stap11:

select count(*) from temp;

      COUNT(*)
     ----------
        10

Stap12:

select count(*) from temp_mv;

      COUNT(*)
      ----------
         10


  1. MySQL selecteer willekeurige rij met JOIN uit twee tabellen

  2. AJAX Post Fatal Error-kolom kan niet nul zijn

  3. RESTful API of Socket.IO

  4. verwacht dat parameter 1 resource, man, boolean gegeven is