Postgresql 8.3.23 Tài liệu | ||||
---|---|---|---|---|
prev | Backward nhanh | Phụ lục F. Các mô -đun được cung cấp bổ sung | Chuyển tiếp nhanh | NEXT |
TheintaggMô -đun cung cấp kèo bóng đá cúp c2 bộ tổng hợp số nguyên và bộ liệt kê.
Bộ tổng hợp là hàm tổng hợpint_array_aggregate (số nguyên)
9479_9606
test =# select int_array_aggregate (i) từ Test-# Generate_Series (1,10,2) i; int_array_aggregate --------------------- 1,3,5,7,9
Người liệt kê là kèo bóng đá cúp c2 hàmint_array_enum (số nguyên [])
Trở lạiSetof Integer. Nó thực chất là
Hoạt động ngược của bộ tổng hợp: Cho kèo bóng đá cúp c2 mảng
Số nguyên, mở rộng nó thành kèo bóng đá cúp c2 tập hợp các hàng. Ví dụ,
test =# select * từ int_array_enum (mảng [1,3,5,7,9]); int_array_enum ---------------- 1 3 5 7 9 (5 hàng)
Nhiều hệ thống cơ sở dữ liệu có khái niệm về kèo bóng đá cúp c2 đối với nhiều bàn. kèo bóng đá cúp c2 bảng như vậy thường nằm giữa hai bảng được lập chỉ mục, Ví dụ:
Tạo kèo bóng đá cúp c2 bên trái (khóa chính ID int, ...); Tạo kèo bóng đá cúp c2 đúng (khóa chính ID int, ...); Tạo kèo bóng đá cúp c2 One_To_Many (Int Int TÀI LIỆU THAM KHẢO, RIGHT INT TÀI LIỆU THAM KHẢO bên phải);
Nó thường được sử dụng như thế này:
10866_10977Mục;
11030_11171
11182_11271ONE_TO_MANYBảng. Thông thường, kèo bóng đá cúp c2 tham gia như thế này sẽ dẫn đến quét chỉ mục và tìm nạp cho mỗi bàn tay phải Nhập vào bảng cho kèo bóng đá cúp c2 mục nhập tay trái cụ thể. Nếu bạn Có kèo bóng đá cúp c2 hệ thống rất năng động, bạn không thể làm được gì nhiều. Tuy nhiên, nếu bạn có kèo bóng đá cúp c2 số dữ liệu khá tĩnh, bạn có thể Tạo bảng tóm tắt với bộ tổng hợp.
Tạo Tóm tắt kèo bóng đá cúp c2 là Chọn bên trái, int_array_aggregate (phải) bên phải Từ one_to_many Nhóm bên trái;
Điều này sẽ tạo kèo bóng đá cúp c2 bảng với kèo bóng đá cúp c2 hàng trên mỗi mục bên trái và kèo bóng đá cúp c2 Mảng các mục đúng. Bây giờ điều này là khá vô dụng nếu không có kèo bóng đá cúp c2 số cách sử dụng mảng; Đó là lý do tại sao có kèo bóng đá cúp c2 mảng Tận dụng. Bạn có thể làm
Chọn kèo bóng đá cúp c2, int_array_enum (phải) từ tóm tắt ở đâu bên kèo bóng đá cúp c2 =Mục;
Truy vấn trên sử dụngint_array_enum
tạo ra kết quả tương tự
BẰNG
Chọn bên kèo bóng đá cúp c2, ngay từ One_To_Many nơi bên kèo bóng đá cúp c2 =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 kèo bóng đá cúp c2 hàng từ bảng, trong khi đó trực tiếp truy vấn chống lạiONE_TO_MANYPhải SCAN INDEX và tìm nạp kèo bóng đá cúp c2 hàng cho mỗi mục.
Trên kèo bóng đá cúp c2 hệ thống, kèo bóng đá cúp c2Giải thíchhiển thị a truy vấn với chi phí 8488 đã giảm xuống còn chi phí là 329. Truy vấn ban đầu là kèo bóng đá cúp c2 sự tham gia liên quan đếnone_to_manykèo bóng đá cúp c2, được thay thế bằng:
Chọn phải, đếm (bên phải) từ (Chọn kèo bóng đá cúp c2, int_array_enum (phải) bên phải Từ Tóm tắt Tham gia (chọn bên kèo bóng đá cúp c2 từ trái_Table WHERE bên kèo bóng đá cúp c2 =Mục) như kèo bóng đá cúp c2 Trên (Tóm tắt.left = lefts.left) ) Như danh sách Nhóm theo đúng Đặt hàng theo đếm desc;