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 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ế.

11.5. Kết hợp nhiều chỉ soi kèo bóng đá truoctran#

Quét chỉ soi kèo bóng đá truoctran duy nhất chỉ có thể sử dụng các điều khoản truy vấn sử dụng các cột của chỉ soi kèo bóng đá truoctran với các toán tử của lớp toán tử của nó và được nối với. Ví dụ: đã cho một chỉ soi kèo bóng đá truoctran trên(a, b)Một điều kiện truy vấn nhưtrong đó a = 5 và b = 6Có thể sử dụng chỉ soi kèo bóng đá truoctran, nhưng một truy vấn nhưtrong đó a = 5 hoặc b = 6Không thể trực tiếp sử dụng chỉ soi kèo bóng đá truoctran.

May mắn thay,PostgreSQLCó khả năng kết hợp nhiều chỉ soi kèo bóng đá truoctran (bao gồm nhiều cách sử dụng của cùng một chỉ số) để xử lý các trường hợp không thể được thực hiện bằng cách quét chỉ soi kèo bóng đá truoctran. Hệ thống có thể hình thànhhoặcĐiều kiện trên một số lần quét chỉ soi kèo bóng đá truoctran. Ví dụ: một truy vấn nhưTrong đó x = 42 hoặc x = 47 hoặc x = 53 hoặc x = 99có thể được chia thành bốn lần quét riêng biệt của một chỉ soi kèo bóng đá truoctran trênx, mỗi lần quét sử dụng một trong các mệnh đề truy vấn. Kết quả của các lần quét này sau đó được tạo ra với nhau để tạo ra kết quả.xY, Một triển khai có thể của một truy vấn nhưTrong đó x = 5 và y = 6là sử dụng từng chỉ soi kèo bóng đá truoctran với mệnh đề truy vấn thích hợp và sau đó và cùng nhau kết quả chỉ soi kèo bóng đá truoctran để xác định các hàng kết quả.

Để kết hợp nhiều chỉ soi kèo bóng đá truoctran, hệ thống quét từng chỉ soi kèo bóng đá truoctran cần thiết và chuẩn bị mộtbitmapTrong bộ nhớ đưa ra các vị trí của các hàng bảng được báo cáo là phù soi kèo bóng đá truoctran với các điều kiện của chỉ số đó. Các bitmap sau đó được Anded và Oreed cùng nhau khi cần của truy vấn.Đặt hàng bởimệnh đề. Vì lý do này và vì mỗi lần quét chỉ soi kèo bóng đá truoctran bổ sung thêm thời gian, người lập kế hoạch đôi khi sẽ chọn sử dụng quét chỉ soi kèo bóng đá truoctran đơn giản mặc dù các chỉ soi kèo bóng đá truoctran bổ sung có sẵn cũng có thể được sử dụng.

Trong tất cả các ứng dụng đơn giản nhất, có nhiều kết hợp các chỉ soi kèo bóng đá truoctran có thể hữu ích và nhà phát triển cơ sở dữ liệu phải thực hiện đánh đổi để quyết định các chỉ soi kèo bóng đá truoctran nào sẽ cung cấp. Đôi khi các chỉ soi kèo bóng đá truoctran Multicolumn là tốt nhất, nhưng đôi khi tốt hơn là tạo các chỉ soi kèo bóng đá truoctran riêng biệt và dựa vào tính năng kết hợp chỉ số.x, đôi khi chỉ có cộtyvà đôi khi cả hai cột, bạn có thể chọn tạo hai chỉ soi kèo bóng đá truoctran riêng biệt trênxy, Dựa vào kết hợp chỉ soi kèo bóng đá truoctran để xử lý các truy vấn sử dụng cả hai cột. Bạn cũng có thể tạo một chỉ soi kèo bóng đá truoctran Multicolumn trên(x, y). Chỉ số này thường sẽ hiệu quả hơn so với kết hợp chỉ soi kèo bóng đá truoctran cho các truy vấn liên quan đến cả hai cột, nhưng như đã thảo luận trongPhần 11.3, nó sẽ ít hữu ích hơn cho các truy vấn chỉ liên quan đếny. Làm thế nào hữu ích sẽ phụ thuộc vào mức độ hiệu quả của tối ưu hóa quét Bỏ qua chỉ số B-cây;xkhông có quá nhiều trăm giá trị riêng biệt, Skip Scan sẽ thực hiện tìm kiếm cho cụ thểyGiá trị thực thi hiệu quả một cách hợp lý. Một sự kết hợp của một chỉ soi kèo bóng đá truoctran nhiều trường hợp trên(x, y)và một chỉ soi kèo bóng đá truoctran riêng trênYcũng có thể phục vụ soi kèo bóng đá truoctran lý tốt. Đối với các truy vấn chỉ liên quan đếnx, Chỉ số Multicolumn có thể được sử dụng, mặc dù nó sẽ lớn hơn và do đó chậm hơn một chỉ soi kèo bóng đá truoctran trênxMột mình. Thay thế cuối cùng là tạo ra cả ba chỉ soi kèo bóng đá truoctran, nhưng điều này có lẽ chỉ hợp lý nếu bảng được tìm kiếm thường xuyên hơn nhiều so với nó được cập nhật và cả ba loại truy vấn đều phổ biến.