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. एक पूर्वनिर्धारित प्रारूप के साथ तारीख की तुलना pl sql

  2. Oracle 11g में TIMESTAMPDIFF?

  3. क्या .NET में OraOLEDB प्रदाता CLOB फ़ील्ड पर अविश्वसनीय है?

  4. Oracle में ट्रिगर एक फ़ील्ड को ऑटो-इन्क्रीमेंट करने और एसोसिएशन टेबल में डालने के लिए

  5. डेटाबेस खोज में NULL मान प्रदर्शन को कैसे प्रभावित करते हैं?