Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

mengumpulkan data agregat tahunan untuk akses cepat nanti

Tampilan terwujud akan menjadi pilihan bagus untuk apa yang ingin Anda lakukan. Dengan cara ini Anda dapat menulis kueri satu kali untuk tampilan, lalu membuat data dalam tampilan yang terwujud disegarkan sesering yang Anda inginkan. Anda dapat memiliki pekerjaan yang menyegarkan data sekali per malam, pada akhir pekan, atau frekuensi apa pun yang Anda pilih.

Setelah tampilan terwujud dibuat, Anda juga dapat menambahkan indeks di atas tampilan terwujud untuk membantu kinerja kueri jika Anda mau.

Contoh singkat tentang cara membuat tampilan terwujud dapat dilihat di bawah ini.

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);

Hasil

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. Oracle 11g:Default ke nilai statis saat kueri tidak menghasilkan apa-apa

  2. Gabung Kiri dan Kanan Menggunakan Tanda Plus (+) di Oracle

  3. Memanggil PROSEDUR yang tersimpan di Toad

  4. Menggunakan `SELECT` untuk memanggil fungsi

  5. Pisahkan nilai yang dipisahkan koma ke kolom di Oracle