Zhmotněný pohled by byl skvělou volbou pro to, co chcete dělat. Tímto způsobem můžete napsat dotaz pro zobrazení jednou a poté nechat data v materializovaném zobrazení aktualizovat tak často, jak budete chtít. Můžete mít úlohu, která obnovuje data jednou za noc, o víkendu nebo v jakékoli frekvenci, kterou si zvolíte.
Po vytvoření materializovaného pohledu můžete také přidat indexy nad materializované zobrazení, které vám pomohou s výkonem dotazů, pokud se tak rozhodnete.
Rychlý příklad, jak vytvořit materializovaný pohled, je uveden níže.
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);
Výsledek
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