Phiên bản được hỗ trợ:hiện tại(17) /16 / 15 / 14 / 13
Phiên bản phát triển:18 / Devel
Phiên bản không được hỗ trợ:12 / 11 / 10 / 9.6 / 9.5 / 9.4 / 9.3
Tài liệu này dành cho phiên bản không được hỗ trợ của PostgreSQL.
Bạn có thể muốn kèo bóng đá euro cùng một trang chohiện tại7824_7905

40.3. kèo bóng đá euro

Chế độ kèo bóng đá euro được vật chất hóa trongPostgreSQL9312_9425

Tạo quan điểm được kèo bóng đá euro hóa myMatView là chọn * từ mytab;

và:

Tạo bảng myMatView là chọn * từ mytab;

Có phải chế độ xem được vật chất hóa sau đó không thể được cập nhật trực tiếp và truy vấn được sử dụng để tạo chế độ xem được lưu trữ được lưu trữ chính xác theo cách mà truy vấn của chế độ xem được lưu trữ, do đó có thể tạo dữ liệu mới cho kèo bóng đá euro hóa với:

Làm mới kèo bóng đá euro MYMATVIEW;

Thông tin về chế độ kèo bóng đá euro được vật chất hóa trongPostgreSQLDanh mục hệ thống giống hệt như đối với bảng hoặc chế độ xem. Vì vậy, đối với trình phân tích cú pháp, một kèo bóng đá euro hóa là một mối quan hệ, giống như một bảng hoặc một chế độ xem. Khi một kèo bóng đá euro được tham chiếu trong một truy vấn, dữ liệu được trả về trực tiếp từ chế độ xem được vật chất hóa, như từ một bảng; Quy tắc chỉ được sử dụng để điền vào chế độ xem được vật chất hóa.

Trong khi truy cập vào dữ liệu được lưu trữ trong chế độ kèo bóng đá euro được vật chất hóa thường nhanh hơn nhiều so với việc truy cập các bảng cơ bản trực tiếp hoặc thông qua chế độ kèo bóng đá euro, dữ liệu không phải lúc nào cũng hiện tại; Tuy nhiên, đôi khi dữ liệu hiện tại là không cần thiết. kèo bóng đá euro xét một bảng ghi lại doanh số:

Tạo hóa đơn bảng (
    Hóa đơn_no khóa chính số nguyên,
    Người bán_No Integer, - ID của nhân viên bán hàng
    Hóa đơn_Date ngày, - Ngày bán hàng
    Invoice_amt Numeric (13,2) - Số tiền bán hàng
);

Nếu mọi người muốn nhanh chóng vẽ đồ thị dữ liệu bán hàng lịch sử, họ có thể muốn tóm tắt và họ có thể không quan tâm đến dữ liệu không đầy đủ cho ngày hiện tại:

Tạo Chế độ kèo bóng đá euro Sales_Summary AS
  LỰA CHỌN
      người bán_no,
      Hóa đơn_date,
      SUM (Invoice_amt) :: Số (13,2) là sales_amt
    Từ hóa đơn
    WHERE invoice_date <current_date
    Nhóm theo
      người bán_no,
      Hóa đơn_date;

Tạo chỉ mục độc đáo sales_summary_seller
  Trên sales_summary (seller_no, invoice_date);

Chế độ kèo bóng đá euro được vật chất hóa này có thể hữu ích để hiển thị biểu đồ trong bảng điều khiển được tạo cho nhân viên bán hàng. Một công việc có thể được lên lịch để cập nhật số liệu thống kê mỗi tối bằng cách sử dụng câu lệnh SQL này:

Làm mới kèo bóng đá euro sales_summary;

Một cách sử dụng khác cho chế độ kèo bóng đá euro được vật chất hóa là cho phép truy cập nhanh hơn vào dữ liệu được mang từ một hệ thống từ xa thông qua trình bao bọc dữ liệu nước ngoài. Một ví dụ đơn giản sử dụngFILE_FDWở bên dưới, với thời gian, nhưng vì điều này đang sử dụng bộ đệm trên hệ thống cục bộ, sự khác biệt hiệu suất so với truy cập vào hệ thống từ xa thường sẽ lớn hơn được hiển thị ở đây. Lưu ý rằng chúng tôi cũng đang khai thác khả năng đặt một chỉ mục vào chế độ kèo bóng đá euro được vật chất hóa, trong khifile_fdwKhông hỗ trợ các chỉ mục; Ưu điểm này có thể không áp dụng cho các loại truy cập dữ liệu nước ngoài khác.

Cài đặt:

Tạo phần mở rộng FILE_FDW;
Tạo máy chủ địa phương_file bao bọc dữ liệu nước ngoài file_fdw;
Tạo các từ trên bàn nước ngoài (văn bản không phải null)
  Máy chủ Local_File
  Tùy chọn (tên tệp '/usr/share/dict/words');
Tạo quan điểm kèo bóng đá euro hóa wrd là chọn * từ các từ;
Tạo chỉ mục độc đáo WRD_WORD trên WRD (Word);
Tạo tiện ích mở rộng PG_TRGM;
Tạo chỉ mục WRD_TRGM trên WRD bằng cách sử dụng GIST (từ gist_trgm_ops);
Phân tích chân không WRD;

Bây giờ hãy kiểm tra chính tả một từ. Sử dụngFILE_FDWtrực tiếp:

Chọn Đếm (*) từ các từ trong đó Word = 'Caterpiler';

 đếm 
-------
     0
(1 hàng)

vớiGiải thích Phân tích, chúng ta thấy:

Tổng hợp (chi phí = 21763,99..21764.00 hàng = 1 chiều rộng = 0) (thời gian thực tế = 188.180..188.181 hàng = 1 vòng
   - Quét nước ngoài trên các từ (chi phí = 0,00..21761.41 hàng = 1032 chiều rộng = 0) (thời gian thực tế = 188.177..188.177 hàng = 0 vòng = 1)
         Bộ lọc: (Word = 'Caterpiler' :: Text)
         Hàng bị xóa bởi bộ lọc: 479829
         Tệp nước ngoài:/usr/share/dict/words
         Kích thước tệp nước ngoài: 4953699
 Thời gian lập kế hoạch: 0,118 ms
 Thời gian thực hiện: 188.273 ms

Nếu kèo bóng đá euro được sử dụng thay thế, truy vấn nhanh hơn nhiều:

13699_14038

Dù sao đi nữa, từ này được đánh vần sai, vì vậy hãy tìm kiếm những gì chúng ta có thể muốn. Một lần nữa sử dụngFILE_FDW:

14217_14446
giới hạn (chi phí = 11583.61..11583.64 hàng = 10 chiều rộng = 32) (thời gian thực tế = 1431.591..1431.594 hàng = 10 vòng = 1)
   - Sắp xếp (chi phí = 11583.61..11804.76 hàng = 88459 chiều rộng = 32) (thời gian thực tế = 1431.589..1431.591 hàng = 10 vòng = 1)
         Sắp xếp phím: ((Word <- 'Caterpiler' :: Text))
         Phương pháp sắp xếp: Bộ nhớ Heapsort Top-N: 25kb
         - Quét nước ngoài trên các từ (chi phí = 0,00..9672,05 hàng = 88459 chiều rộng = 32) (thời gian thực tế = 0,057..1286.455 hàng = 479829 vòng lặp = 1)
               Tệp nước ngoài:/usr/share/dict/words
               Kích thước tệp nước ngoài: 4953699
 Thời gian lập kế hoạch: 0,128 ms
 Thời gian thực hiện: 1431.679 ms

Sử dụng chế độ kèo bóng đá euro được vật chất hóa:

giới hạn (chi phí = 0,29..1,06 hàng = 10 chiều rộng = 10) (thời gian thực tế = 187.222..188.257 hàng = 10 vòng = 1)
   - Quét chỉ mục bằng WRD_TRGM trên WRD (chi phí = 0,29..37020.87 hàng = 479829 chiều rộng = 10) (thời gian thực tế = 187.219..188.252 hàng = 10 vòng = 1)
         Đặt hàng bởi: (Word <- 'Caterpiler' :: Text)
 Thời gian lập kế hoạch: 0,196 ms
 Thời gian thực hiện: 198.640 ms

Nếu bạn có thể chấp nhận cập nhật định kỳ dữ liệu từ xa vào cơ sở dữ liệu cục bộ, lợi ích hiệu suất có thể là đáng kể.