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

F.18. Intagg - cách đọc kèo bóng đá số nguyên#

TheintaggMô -đun cung cấp bộ tổng hợp số cách đọc kèo bóng đá và bộ liệt kê.intagghiện đã lỗi thời, bởi vì có các chức năng tích cách đọc kèo bóng đá cung cấp một siêu năng lực của các khả năng của nó. Tuy nhiên, mô-đun vẫn được cung cấp dưới dạng trình bao bọc tương thích xung quanh các chức năng tích cách đọc kèo bóng đá.

F.18.1. Chức năng#

Bộ tổng cách đọc kèo bóng đá là hàm tổng cách đọc kèo bóng đáint_array_aggregate (số cách đọc kèo bóng đá)tạo ra một mảng số cách đọc kèo bóng đá chứa chính xác các số cách đọc kèo bóng đá mà nó được cho ăn. Đây là một trình bao bọc xung quanhmảng_agg, làm điều tương tự cho bất kỳ loại mảng nào.

Người liệt kê là một hàmint_array_enum (số cách đọc kèo bóng đá [])Trở lạiSố cách đọc kèo bóng đá setof. Nó thực chất là hoạt động ngược của bộ tổng hợp: đưa ra một loạt các số cách đọc kèo bóng đá, mở rộng nó thành một tập hợp các hàng.Unnest, làm điều tương tự cho bất kỳ loại mảng nào.

F.18.2. Sử dụng mẫu#

Nhiều hệ thống cơ sở dữ liệu có khái niệm về nhiều bảng. Một bảng như vậy thường nằm giữa hai bảng được lập chỉ mục, ví dụ:

Tạo bảng bên trái_table (khóa chính ID int, ...);

Nó thường được sử dụng như thế này:

Chọn Right_Table.*Mục;

Điều này sẽ trả lại tất cả các mục trong bảng bên phải cho một mục trong bảng tay trái. Đây là một cấu trúc rất phổ biến trong SQL.

Bây giờ, phương pháp này có thể cồng kềnh với số lượng rất lớn các mục trongnhiều_to_manyBảng. Thông thường, một sự tham gia như thế này sẽ dẫn đến việc quét chỉ mục và tìm nạp cho mỗi lần nhập tay phải trong bảng cho một mục nhập tay trái cụ thể.

Tạo Tóm tắt bảng là

Điều này sẽ tạo một bảng với một hàng trên mỗi mục bên trái và một mảng các mục phải. Bây giờ điều này là khá vô dụng mà không cần một số cách sử dụng mảng;

13620_13691Mục;

Truy vấn trên sử dụngint_array_enumtạo ra kết quả giống như

Chọn ID_LEFT, ID_RIGHT từ nhiều_TO_MANY trong đó id_left =Mục;

Sự khác biệt là truy vấn đối với bảng tóm tắt phải chỉ nhận được một hàng từ bảng, trong khi truy vấn trực tiếp chống lạinhiều_to_manyPhải quét chỉ mục và lấy một hàng cho mỗi mục.

Trên một hệ thống, mộtGiải thích14295_14407nhiều_to_manyBảng, được thay thế bằng:

Chọn ID_RIGHT, Đếm (ID_RIGHT) từMục) như trái

Gửi hiệu chỉnh

Nếu bạn thấy bất cứ điều gì trong tài liệu không chính xác, không phù cách đọc kèo bóng đáMẫu nàyĐể báo cáo vấn đề tài liệu.