Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

thu thập dữ liệu tổng hợp hàng năm để truy cập nhanh sau này

Một chế độ xem cụ thể hóa sẽ là một lựa chọn tuyệt vời cho những gì bạn đang muốn làm. Bằng cách này, bạn có thể viết truy vấn một lần cho chế độ xem, sau đó để dữ liệu trong chế độ xem cụ thể hóa làm mới thường xuyên nếu bạn muốn. Bạn có thể có một công việc làm mới dữ liệu một lần mỗi đêm, vào cuối tuần hoặc bất kỳ tần suất nào bạn chọn.

Sau khi chế độ xem cụ thể hóa được tạo, bạn cũng có thể thêm các chỉ mục vào đầu chế độ xem cụ thể hóa để hỗ trợ hiệu suất truy vấn nếu bạn muốn.

Có thể xem một ví dụ nhanh về cách tạo chế độ xem cụ thể hóa bên dưới.

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

Kết quả

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. Tạo ứng dụng Java trong Oracle JDeveloper, Phần 1

  2. Cảnh báo:ocifetch () [function.ocifetch]:ORA-24374:xác định chưa xong trước khi tìm nạp hoặc thực thi và tìm nạp

  3. Loại [Oracle.DataAccess.Client.OracleBulkCopy] ở đâu?

  4. Làm cách nào để bạn thực thi SQL từ bên trong một tập lệnh bash?

  5. Câu lệnh INSERT trong PL / SQL không thành công trong cơ sở dữ liệu Oracle