Oracle
 sql >> база данни >  >> RDS >> Oracle

събиране на годишни обобщени данни за по-късен бърз достъп

Материализираният изглед би бил чудесен вариант за това, което искате да направите. По този начин можете да напишете заявката веднъж за изгледа, след което данните в материализирания изглед да се обновяват толкова често, колкото желаете. Можете да имате работа, която опреснява данните веднъж на вечер, през уикендите или каквато честота изберете.

След като бъде създаден материализираният изглед, можете също да добавите индекси в горната част на материализирания изглед, за да подпомогнете изпълнението на заявката, ако решите.

Бърз пример за това как да създадете материализиран изглед може да видите по-долу.

CREATE TABLE sale
(
    product_id     NUMBER,
    sale_date      DATE,
    sale_amount    NUMBER
);

INSERT INTO sale (product_id, sale_date, sale_amount)
     VALUES (124, DATE '2019-02-01', 40.25);

INSERT INTO sale (product_id, sale_date, sale_amount)
     VALUES (124, DATE '2019-02-01', 80.99);

INSERT INTO sale (product_id, sale_date, sale_amount)
     VALUES (124, DATE '2020-02-01', 30.50);

INSERT INTO sale (product_id, sale_date, sale_amount)
     VALUES (124, DATE '2020-02-01', 46.75);

CREATE MATERIALIZED VIEW sales_summary
BUILD IMMEDIATE
REFRESH FORCE ON DEMAND
AS
      SELECT product_id,
             SUM (sale_amount)                 AS annual_sales,
             MAX (sale_amount)                 AS max_price,
             MIN (sale_amount)                 AS min_price,
             EXTRACT (YEAR FROM sale_date)     AS year
        FROM sale
    GROUP BY product_id, EXTRACT (YEAR FROM sale_date);

Резултат

select * from sales_summary;

   PRODUCT_ID    ANNUAL_SALES    MAX_PRICE    MIN_PRICE    YEAR
_____________ _______________ ____________ ____________ _______
          124          121.24        80.99        40.25    2019
          124           77.25        46.75         30.5    2020



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Вземете дума след конкретна дума с помощта на regexp_substr в sql oracle

  2. Стъпки за промяна на администраторска парола, която е загубена или забравена от EBS WebLogic домейн R12.2

  3. Oracle sqlldr:колоната не е разрешена тук

  4. Инструкция INSERT SELECT в Oracle 11G

  5. Каква е разликата между OCI и THIN драйверна връзка с връзка към източник на данни между java и oracle XE?