Postgresql 9.3.25 Tài kèo chấp bóng đá hôm nay | ||||
---|---|---|---|---|
prev | UP | Chương 5. Dữ kèo chấp bóng đá hôm nay | Tiếp theo |
PostgreSQLHỗ trợ bảng cơ bản
kèo chấp bóng đá hôm nay đề cập đến việc chia những gì một cách logic một cách hợp lý
Hiệu suất truy vấn có thể được cải thiện đáng kể ở một số
Khi truy vấn hoặc cập nhật truy cập một tỷ lệ phần trăm lớn của một
Tải và xóa số lượng lớn có thể được thực hiện bằng cách thêm hoặc xóaALTER BẢNG KHÔNG BIẾTvàBẢNG DROPCả hai đều nhanh hơn nhiều so với số lượng lớnVACUUMChi phí gây ra bởi một số lượng lớnXóa.
Dữ kèo chấp bóng đá hôm nay hiếm khi được sử dụng có thể được di chuyển sang lưu trữ rẻ hơn và chậm hơn
Những lợi ích thường sẽ chỉ có giá trị khi một bảng sẽ
Hiện tại,PostgreSQLHỗ trợPhần 5.8) trước khi cố gắng thiết lập
Các hình thức kèo chấp bóng đá hôm nay sau đây có thể được thực hiện trongPostgreSQL:
Bảng được kèo chấp bóng đá hôm nay thành"Phạm vi"Được xác định bởi một cột hoặc bộ cột,
Bảng được kèo chấp bóng đá hôm nay bằng cách liệt kê rõ ràng giá trị khóa nào
Để thiết lập bảng được kèo chấp bóng đá hôm nay, làm như sau:
Tạo"Master"Bảng, từ đó
Bảng này sẽ không chứa dữ kèo chấp bóng đá hôm nay. Không xác định bất kỳ séc nào
Tạo một số"Child"Bảng đó
Chúng tôi sẽ gọi các bảng con là kèo chấp bóng đá hôm nay, mặc dù chúng làPostgreSQLBảng.
Thêm các ràng buộc bảng vào các bảng kèo chấp bóng đá hôm nay để xác định
Ví dụ điển hình sẽ là:
Kiểm tra (x = 1)
Đảm bảo rằng các ràng buộc đảm bảo rằng không có sự chồng chéo
Kiểm tra (Outletid từ 100 đến 200)
Điều này là sai vì không rõ kèo chấp bóng đá hôm nay nào
Lưu ý rằng không có sự khác biệt về cú pháp giữa phạm vi và
Đối với mỗi kèo chấp bóng đá hôm nay, hãy tạo một chỉ mục trên (các) cột chính, như
Tùy chọn, xác định trình kích hoạt hoặc quy tắc để chuyển hướng dữ kèo chấp bóng đá hôm nay được chèn
Đảm bảo rằngurdaint_exclusionTham số cấu hình không bị vô hiệu hóa trongPostgreSql.conf. Nếu có, các truy vấn sẽ không
Ví dụ: giả sử chúng ta đang xây dựng cơ sở dữ kèo chấp bóng đá hôm nay cho một lớn
Tạo phép đo bảng (
Chúng tôi biết rằng hầu hết các truy vấn sẽ truy cập chỉ vào tuần trước,
Trong tình huống này, chúng ta có thể sử dụng kèo chấp bóng đá hôm nay để giúp chúng ta gặp tất cả
Bảng chính làĐo lườngbảng, được khai báo chính xác như trên.
Tiếp theo chúng tôi tạo một kèo chấp bóng đá hôm nay cho mỗi tháng hoạt động:
Tạo bảng đo_Y2006M02 () kế thừa (Đo lường);
Mỗi kèo chấp bóng đá hôm nay là các bảng hoàn chỉnh theo cách riêng của chúng,Đo lườngBảng.
Điều này giải quyết một trong những vấn đề của chúng tôi: xóa dữ kèo chấp bóng đá hôm nay cũ. Mỗi tháng,thảTrên bảng con cái lâu đời nhất và tạo một bảng con mới
Chúng tôi phải cung cấp các ràng buộc bảng không chồng chéo. Còn hơn là
Tạo bảng đo_Y2006M02 (
Có lẽ chúng ta cũng cần các chỉ mục trên các cột chính:
18083_18474
Chúng tôi chọn không thêm các chỉ mục khác vào thời điểm này.
Chúng tôi muốn ứng dụng của chúng tôi có thể nóiChèn vào phép đo ...và có dữ kèo chấp bóng đá hôm nay được
Tạo hoặc thay thế chức năng Đo_insert_trigger ()
Sau khi tạo chức năng, chúng tôi tạo một trình kích hoạt gọi
Tạo Trigger Insert_Meas mua sắm_Trigger
Chúng ta phải xác định lại chức năng kích hoạt mỗi tháng để nó
Chúng tôi có thể muốn chèn dữ kèo chấp bóng đá hôm nay và tự động máy chủ
Tạo hoặc thay thế chức năng Đo_insert_trigger ()
Định nghĩa kích hoạt giống như trước đây. Lưu ý rằng mỗinếuKiểm tra phải khớp chính xác vớiKiểm traràng buộc cho kèo chấp bóng đá hôm nay của nó.
Trong khi chức năng này phức tạp hơn trường hợp một tháng,
Lưu ý:Trong thực tế, tốt nhất có thể kiểm tra cái mới nhất
Như chúng ta có thể thấy, một sơ đồ kèo chấp bóng đá hôm nay phức tạp có thể yêu cầu một
Thông thường tập hợp các kèo chấp bóng đá hôm nay được thiết lập khi ban đầu
Tùy chọn đơn giản nhất để xóa dữ kèo chấp bóng đá hôm nay cũ chỉ đơn giản là bỏ rơi
BẢNG DROP Đ SP
Điều này có thể nhanh chóng xóa hàng triệu bản ghi vì nó
một tùy chọn khác thường thích hơn là loại bỏ
Thay đổi bảng đo_Y2006M02 Không có phép đo kế thừa;
Điều này cho phép các hoạt động tiếp theo được thực hiện trên dữ kèo chấp bóng đá hôm nayCopy, pg_dumphoặc các công cụ tương tự. Nó cũng có thể là một
Tương tự chúng ta có thể thêm một kèo chấp bóng đá hôm nay mới để xử lý dữ liệu mới. Chúng tôi có thể
Tạo bảng đo_Y2008M02 (
như một sự thay thế, đôi khi thuận tiện hơn để tạo
Tạo bảng đo_Y2008M02
Loại trừ ràng buộclà một truy vấn
Đặt ràng buộc_exclusion = ON;
Không loại trừ ràng buộc, truy vấn ở trên sẽ quét từngĐo lườngBảng. Với kích hoạt loại trừ ràng buộc, người lập kế hoạch sẽ kiểm traWHEREmệnh đề. Khi
Bạn có thể sử dụngGiải thíchLệnh hiển thịurdaint_exclusionON và một kế hoạch với nó tắt. MỘT
Đặt ràng buộc_exclusion = TẮT;
Một số hoặc tất cả các kèo chấp bóng đá hôm nay có thể sử dụng quét chỉ mục thay vì
Đặt ràng buộc_exclusion = ON;
Lưu ý rằng loại trừ ràng buộc chỉ được điều khiển bởiKiểm traCác ràng buộc, không phải bởi sự hiện diện của các chỉ mục.
cài đặt mặc định (và được đề xuất) củathực sự cũng khôngtrênNorTẮT, nhưng một cài đặt trung gian được gọi làkèo chấp bóng đá hôm nay, khiến kỹ thuật được áp dụngtrênCài đặt gây ra kế hoạchKiểm traCác ràng buộc trong tất cả
Một cách tiếp cận khác để chuyển hướng chèn vào
Tạo Quy tắc Đo_insert_y2006m02 AS
một quy tắc có chi phí cao hơn đáng kể so với kích hoạt, nhưng
Nhận thức rằngCopyBỏ qua các quy tắc. Nếu nhưCopyĐể chèn dữ kèo chấp bóng đá hôm nay,CopyCác kích hoạt lửa, có
Một nhược điểm khác của phương pháp quy tắc là không có
kèo chấp bóng đá hôm nay cũng có thể được sắp xếp bằng cách sử dụngLiên minh tất cảXem, thay vì kế thừa bảng. Vì
Tạo phép đo xem là
Tuy nhiên, sự cần thiết phải tạo lại chế độ xem thêm một bước bổ sung để
Các cảnh báo sau đây áp dụng cho các bảng được kèo chấp bóng đá hôm nay:
Không có cách tự động nào để xác minh rằng tất cảKiểm traCác ràng buộc là loại trừ lẫn nhau. Nó là
Các sơ đồ được hiển thị ở đây giả sử rằng cột khóa kèo chấp bóng đá hôm nayCập nhậtĐiều đó cố gắng làm điều đó sẽ thất bại vìKiểm traràng buộc. Nếu bạn cần xử lý các trường hợp như vậy,
Nếu bạn đang sử dụng thủ côngVACUUMhoặckèo chấp bóng đá hôm nay tíchlệnh, đừng quên rằng bạn
kèo chấp bóng đá hôm nay tích đo lường;
Sẽ chỉ xử lý bảng chính.
Các cảnh báo sau đây áp dụng cho loại trừ ràng buộc:
Loại trừ ràng buộc chỉ hoạt động khi truy vấnWHEREmệnh đề chứa hằng số (hoặc bên ngoàicurrent_timestamp
không thể được tối ưu hóa, vì
Giữ cho các ràng buộc kèo chấp bóng đá hôm nay đơn giản, nếu không người lập kế hoạch có thể
Tất cả các ràng buộc trên tất cả các kèo chấp bóng đá hôm nay của bảng chính là