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 / 9.2 / 9.1 / 9.0 / 8.4 / 8.3 / 8.2 / 8.1
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 xem cùng tỷ lệ kèo bóng đá trang chohiện tạiPhiên bản hoặc tỷ lệ kèo bóng đá trong các phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

5.9. tỷ lệ kèo bóng đá

PostgreSQLHỗ trợ cơ bản

5.9.1. Tổng quan

tỷ lệ kèo bóng đá đề cập đến việc phân tách 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ể trong

  • Khi các truy vấn hoặc cập nhật truy cập tỷ lệ kèo bóng đá tỷ lệ phần trăm lớn của A

  • 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 thêmThay đổinhanh hơn nhiều so với hoạt động hàng loạt. Nó cũngNút hútChi phí gây ra bởi tỷ lệ kèo bóng đá số lượng lớnXóa.

  • Dữ liệu hiếm khi được sử dụng có thể được di chuyển sang rẻ hơn và chậm hơn

Những lợi ích thường sẽ chỉ có giá trị khi tỷ lệ kèo bóng đá bảng

Hiện tại,PostgreSQLHỗ trợ tỷ lệ kèo bóng đá qua kế thừa bảng. Mỗi tỷ lệ kèo bóng đáPhần 5.8)

Các hình thức tỷ lệ kèo bóng đá sau đây có thể được thực hiện trongPostgreSQL:

tỷ lệ kèo bóng đá phạm vi

Bảng được tỷ lệ kèo bóng đá thành"Phạm vi"Được xác định bởi tỷ lệ kèo bóng đá cột hoặc bộ

Danh sách tỷ lệ kèo bóng đá

Bảng được tỷ lệ kèo bóng đá bằng cách liệt kê rõ ràng

5.9.2. Thực hiện

Để thiết lập bảng được tỷ lệ kèo bóng đá, làm như sau:

  1. Tạo"Master"Bảng,

    Bảng này sẽ không chứa dữ liệu. Không xác định bất kỳ séc nào

  2. Tạo tỷ lệ kèo bóng đá số"Child"Bảng

    Chúng tôi sẽ gọi các bảng con là tỷ lệ kèo bóng đáPostgreSQLBảng.

  3. Thêm các ràng buộc bảng vào các bảng tỷ lệ kèo bóng đá để 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ó

    Kiểm tra (Outletid từ 100 đến 200)

    Điều này là sai vì không rõ tỷ lệ kèo bóng đá nào

    Lưu ý rằng không có sự khác biệt về cú pháp giữa phạm vi

  4. Đối với mỗi tỷ lệ kèo bóng đá, hãy tạo một chỉ mục trên khóa

  5. Tùy chọn, xác định trình kích hoạt hoặc quy tắc để chuyển hướng dữ liệu

  6. Đả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ữ liệu cho tỷ lệ kèo bóng đá

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 tỷ lệ kèo bóng đá để giúp chúng ta gặp gỡ

  1. Bảng chính làĐo lườngbảng, được khai báo chính xác là

  2. Tiếp theo chúng tôi tạo một tỷ lệ kèo bóng đá cho mỗi tháng hoạt động:

    Tạo bảng đo_Y2006M02 () kế thừa (Đo lường);

    Mỗi tỷ lệ kèo bóng đá là các bảng hoàn chỉnhĐo lườngBảng.

    Điều này giải quyết tỷ lệ kèo bóng đá trong những vấn đề của chúng tôi: xóa dữ liệu cũ. MỗiBẢNG DROPtrên bàn trẻ nhất và

  3. Chúng tôi phải cung cấp các ràng buộc bảng không chồng chéo.

    Tạo bảng đo_Y2006M02 (
  4. Có lẽ chúng ta cũng cần các chỉ mục trên các cột chính:

    19395_19787

    Chúng tôi chọn không thêm các chỉ mục vào thời điểm này.

  5. Chúng tôi muốn ứng dụng của chúng tôi có thể nóiChèn vào đo ...và 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 tỷ lệ kèo bóng đá trình kích hoạt mà

    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 để

    Chúng tôi có thể muốn chèn dữ liệu và có 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ằngnếuKiểm tra phải khớp chính xác với nhauKiểm traràng buộc cho nó

    Trong khi hàm này phức tạp hơn

    Lưu ý:Trong thực tế, tốt nhất là kiểm tra

Như chúng ta có thể thấy, một sơ đồ tỷ lệ kèo bóng đá phức tạp có thể yêu cầu một

5.9.3. Quản lý

Thông thường tập hợp các tỷ lệ kèo bóng đá được thiết lập khi ban đầu

Tùy chọn đơn giản nhất để xóa dữ liệu cũ chỉ đơn giản là bỏ rơi

23944_23980

Điều này có thể nhanh chóng xóa hàng triệu bản ghi vì nó

tỷ lệ kèo bóng đá tùy chọn khác thường thích hơn là xóa

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ữ liệuCopy, pg_dumphoặc các công cụ tương tự. Nó

Tương tự chúng ta có thể thêm một tỷ lệ kèo bóng đá mới để xử lý dữ liệu mới. Chúng tôi

Tạo bảng đo_Y2008M02 (

Như tỷ lệ kèo bóng đá sự thay thế, đôi khi thuận tiện hơn để tạo

Tạo bảng đo_Y2008M02

5.9.4. tỷ lệ kèo bóng đá và

Loại trừ ràng buộclà tỷ lệ kèo bóng đá 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Đo lườngBảng. Với sự loại trừ ràng buộcWHEREmệnh đề. Khi người lập kế hoạch

Bạn có thể sử dụngGiải thíchLệnh đếnurdaint_exclusiontrên và tỷ lệ kèo bóng đá kế hoạch với nó.

Đặt ràng buộc_exclusion = TẮT;

Một số hoặc tất cả các tỷ lệ kèo bóng đá có thể sử dụng quét chỉ mục thay thế

Đặ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ài đặt mặc định (và được đề xuất) củaurdaint_exclusionthực sự cũng khôngtrêncũng khôngTẮT, nhưng tỷ lệ kèo bóng đá cài đặt trung gian được gọi làtỷ lệ kèo bóng đá, gây ra kỹ thuậttrên30363_30408Kiểm traCác ràng buộc trong tất cả các truy vấn, ngay cả những câu hỏi đơn giản không thể xảy ra

5.9.5. tỷ lệ kèo bóng đá thay thế

tỷ lệ kèo bóng đá 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

tỷ lệ kèo bóng đá 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.Copyđể chènCopykhông

tỷ lệ kèo bóng đá nhược điểm khác của phương pháp quy tắc là có

tỷ lệ kèo bóng đá 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.

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 tỷ lệ kèo bóng đá bước bổ sung để

5.9.6. Hãy cẩn thận

Các cảnh báo sau đây áp dụng cho các bảng được tỷ lệ kèo bóng đá:

  • Không có cách tự động nào để xác minh rằng tất cả cácKiểm traCác ràng buộc là lẫn nhau

  • Các sơ đồ được hiển thị ở đây giả sử rằng khóa tỷ lệ kèo bóng đáCập nhậtĐiều đó cố gắng làm điều đóKiểm traràng buộc. Nếu bạn cần xử lý những trường hợp như vậy, bạn có thể đặt

  • Nếu bạn đang sử dụng thủ côngVACUUMhoặctỷ lệ kèo bóng đá tíchCác lệnh, đừng quên

    tỷ lệ kèo bóng đá 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ố. MỘT"ổn định"Các chức năng nhưcurrent_datePhải tránh.

  • Giữ cho các ràng buộc tỷ lệ kèo bóng đá đơn giản, khác là

  • Tất cả các ràng buộc trên tất cả các tỷ lệ kèo bóng đá của bảng chính