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 đá hôm nay và ngày mai cùng một trang chohiện tạiPhiên bản hoặc một trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

38.3. Chế độ kèo bóng đá hôm nay và ngày mai vật chất

kèo bóng đá hôm nay và ngày mai hóa trongPostgreSQLSử dụng hệ thống quy tắc như chế độ kèo bóng đá hôm nay và ngày mai làm, nhưng vẫn tồn tại kết quả ở dạng giống như bảng. Sự khác biệt chính giữa:

8957_9018

và:

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

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

Làm mới kèo bóng đá hôm nay và ngày mai MYMATVIEW;

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

Trong khi truy cập vào dữ liệu được lưu trữ trong kèo bóng đá hôm nay và ngày mai hóa thường là nhanh hơn nhiều so với truy cập trực tiếp vào các bảng cơ bản hoặc Thông qua chế độ xem, 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. Xem xét một bảng ghi lại việc bán hàng:

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 có thể nhanh chóng vẽ đồ thị bán hàng lịch sử dữ liệu, 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:

10615_11001

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

Làm mới chế độ kèo bóng đá hôm nay và ngày mai vật chất sales_summary;

Một cách sử dụng khác cho kèo bóng đá hôm nay và ngày mai 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 dữ liệu nước ngoài gó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 cục bộ hệ thống chênh lệch hiệu suất trên trình bao bọc dữ liệu nước ngoài với Hệ thống từ xa có thể lớn hơn. 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 '/etc/từ điển-phổ biến/từ');
Tạo quan điểm kèo bóng đá hôm nay và ngày mai 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)

Kế hoạch là:

tổng hợp (chi phí = 4125.19..4125.20 hàng = 1 chiều rộng = 0) (thời gian thực tế = 26.013..26.014 hàng = 1 vòng lặp = 1)
   - Quét nước ngoài trên các từ (chi phí = 0,00..4124,70 hàng = 196 chiều rộng = 0) (thời gian thực tế = 26.011..26.011 hàng = 0 vòng = 1)
         Bộ lọc: (Word = 'Caterpiler' :: Text)
         Hàng bị xóa bởi bộ lọc: 99171
         Tệp nước ngoài:/etc/từ điển phổ biến/từ
         Kích thước tệp nước ngoài: 938848
 Tổng thời gian chạy: 26.081 ms

Nếu chế độ kèo bóng đá hôm nay và ngày mai vật chất được sử dụng thay thế, truy vấn là nhiều nhanh hơn:

Tổng hợp (chi phí = 4,44..4,45 hàng = 1 chiều rộng = 0) (thời gian thực tế = 0,074..0.074 hàng = 1 vòng = 1)
   - Chỉ có chỉ số quét bằng WRD_WORD trên WRD (chi phí = 0,42..4,44 hàng = 1 chiều rộng = 0) (thời gian thực tế = 0,071..0.071 hàng = 0 vòng = 1)
         Index Cond: (Word = 'Caterpiler' :: Text)
         HEAP FETCHES: 0
 Tổng thời gian chạy: 0,119 ms

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

Chọn từ từ các từ đơn hàng theo từ <- 'Caterpiler' giới hạn 10;

     từ     
---------------
 Phục vụ
 Sâu bướm
 Sâu bướm
 Sâu bướm
 Caterpillar's
 Caterpillar's
 người cung cấp
 Người cung cấp thực phẩm
 phục vụ
 phục vụ
(10 hàng)
giới hạn (chi phí = 2195.70..2195.72 hàng = 10 chiều rộng = 32) (thời gian thực tế = 218.904..218.906 hàng = 10 vòng = 1)
   - Sắp xếp (chi phí = 2195.70..2237.61 hàng = 16765 chiều rộng = 32) (thời gian thực tế = 218.902..218.904 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..1833,41 hàng = 16765 chiều rộng = 32) (thời gian thực tế = 0,046..200.965 hàng = 99171 vòng lặp = 1)
               Tệp nước ngoài:/etc/từ điển phổ biến/từ
               Kích thước tệp nước ngoài: 938848
 Tổng thời gian chạy: 218.966 ms

Sử dụng kèo bóng đá hôm nay và ngày mai hóa:

giới hạn (chi phí = 0,28..1,02 hàng = 10 chiều rộng = 9) (thời gian thực tế = 24.916..25.079 hàng = 10 vòng = 1)
   - Quét chỉ mục bằng WRD_TRGM trên WRD (chi phí = 0,28..7383.70 hàng = 99171 Width = 9) (Thời gian thực tế = 24.914..25.076 hàng = 10 vòng = 1)
         Đặt hàng bởi: (Word <- 'Caterpiler' :: Text)
 Tổng thời gian chạy: 25.884 ms

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