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 kèo bóng đá c1 phiên bản được hỗ trợ khác được liệt kê ở trên thay thế.

51.3. kèo bóng đá c1

9866_10012Khóa kèo bóng đá c110044_10071khôngLiên quan trong việc tìm kiếm những bộ dữ liệu đó từ bảng cha mẹ của chỉ mục, cũng như trong việc xác định liệu họ có vượt qua thời gian kèo bóng đá c1 không Kiểm tra trình độ hoặc các điều kiện khác.

Khóa kèo bóng đá c1 là biểu diễn bên trong củaWHEREmệnh đề của biểu mẫuindex_key Nhà điều hành hằng số, trong đó khóa chỉ mục là một trong những các cột của chỉ mục và toán tử là một trong những thành viên của Họ vận hành liên kết với cột chỉ số đó. Một chỉ mục kèo bóng đá c1 không có các khóa kèo bóng đá c1 hoặc nhiều hơn, được và Các bộ dữ được trả lại dự kiến ​​sẽ đáp ứng tất cả các chỉ định điều kiện.

Phương thức truy cập có thể báo cáo rằng chỉ kèo bóng đá c1 làMấthoặc yêu cầu kiểm tra lại, cho một cụ thể truy vấn. Điều này ngụ ý rằng việc kèo bóng đá c1 sẽ trả về tất cả Các mục nhập vượt qua khóa quét, cộng với các mục có thể bổ sung Điều đó không. Máy móc quét chỉ số của hệ thống lõi sau đó sẽ Áp dụng các điều kiện chỉ mục một lần nữa cho Tuple HEAP để xác minh Có hay không nó thực sự nên được chọn. Nếu kiểm tra lại tùy chọn không được chỉ định, kèo bóng đá c1 phải trả về chính xác tập hợp các mục khớp.

Lưu ý rằng nó hoàn toàn tùy thuộc vào phương thức truy cập để đảm bảo rằng nó chính xác tìm thấy tất cả và chỉ các mục nhập tất cả Cho các phím kèo bóng đá c1. Ngoài ra, hệ thống cốt lõi sẽ chỉ cần hết TheWHEREmệnh đề phù hợp với chỉ kèo bóng đá c1 chìa khóa và gia đình vận hành, không có bất kỳ phân tích ngữ nghĩa nào Xác định xem họ là dư thừa hay mâu thuẫn. Như một Ví dụ, đã choTrong đó x 4 và x 14WHERExlà một cây B được lập chỉ kèo bóng đá c1 Cột, nó được để lại cho B-TreeAmrescanHàm để nhận ra rằng đầu tiên Khóa kèo bóng đá c1 là dự phòng và có thể bị loại bỏ. Phạm vi của tiền xử lý cần thiết trong thời gianAmrescansẽ phụ thuộc vào mức độ Phương thức truy cập chỉ mục cần giảm các khóa kèo bóng đá c1 xuống"Bình thường hóa"Mẫu.

Một số phương thức truy cập trả về các kèo bóng đá c1 nhập chỉ kèo bóng đá c1 trong một Đặt hàng, những người khác thì không. Nếu các kèo bóng đá c1 được trả về theo thứ tự sắp xếp, Phương thức truy cập sẽ được đặtpg_am.AmcanorderĐúng để chỉ ra rằng nó hỗ trợ kèo bóng đá c1 theo thứ tự. Tất cả quyền truy cập như vậy Các phương pháp phải sử dụng các số chiến lược tương thích Btree cho Các toán tử bình đẳng và đặt hàng.

TheAmgettupleHàm có AHướngĐối số, có thể làForwardScandItion(trường hợp bình thường) hoặcBackwardscandirection. Nếu đầu tiên Gọi sauAmrescanChỉ địnhBackwardscandirection, sau đó là tập hợp của Các mục chỉ mục phù hợp sẽ được kèo bóng đá c1 ngược trở lại thay vì theo hướng phía trước thông thường, vì vậyAmgettuplePhải trả lại Tuple phù hợp cuối cùng Trong chỉ số, thay vì cái đầu tiên như bình thường. (Điều này sẽ chỉ xảy ra đối với các phương thức truy cập quảng cáo chúng Hỗ trợ kèo bóng đá c1 đã đặt hàng.) Sau cuộc gọi đầu tiên,Amgettuplephải chuẩn bị để tiến hành kèo bóng đá c1 Theo một trong hai hướng từ mục nhập được trả lại gần đây nhất. (Nhưng nếu nhưpg_am.Amcanbackwardlà sai, tất cả kèo bóng đá c1 cuộc gọi tiếp theo sẽ có cùng hướng với hướng đầu tiên.)

Phương pháp truy cập hỗ trợ kèo bóng đá c1 phải hỗ trợ"Đánh dấu"Một vị trí trong kèo bóng đá c1 và sau đó trở về vị trí được đánh dấu. Cùng một vị trí có thể được khôi phục nhiều lần. Tuy nhiên, chỉ cần một vị trí nhớ mỗi lần kèo bóng đá c1; một mớiAmmarkposcuộc gọi ghi đè lên được đánh dấu trước đó chức vụ. Một phương thức truy cập không hỗ trợ kèo bóng đá c1 đã đặt hàng vẫn nên cung cấp các chức năng đánh dấu và khôi phục trongpg_am, nhưng nó là đủ để họ ném Lỗi nếu được gọi.

14368_15051

Thay vì sử dụngAmgettuple, an SCAN INDEX có thể được thực hiện vớiAmgetbitmapĐể tìm nạp tất cả kèo bóng đá c1 bộ dữ liệu trong một cuộc gọi. Điều này có thể hiệu quả hơn đáng kể so vớiAmgettupleBởi vì nó cho phép tránh Khóa/Mở khóa chu kỳ trong phương thức truy cập. Về nguyên tắcAmgetbitmapnên có cùng hiệu ứng như lặp lạiAmgettuplecuộc gọi, nhưng chúng tôi áp đặt một số hạn chế để đơn giản hóa kèo bóng đá c1 vấn đề. Đầu tiên,AmgetbitmapTrả về Tất cả các bộ dữ liệu cùng một lúc và đánh dấu hoặc khôi phục các vị trí kèo bóng đá c1 không được hỗ trợ. Thứ hai, các bộ dữ liệu được trả lại trong một bitmap không có bất kỳ thứ tự cụ thể nào, đó là lý do tại saoAmgetbitmapkhông lấy AHướngĐối số. Cuối cùng,AmgetbitmapKhông đảm bảo bất kỳ khóa nào kèo bóng đá c1 bộ dữ liệu được trả lại, với kèo bóng đá c1 hàm ý được đánh vần trongPhần 51.4.

Lưu ý rằng nó được phép cho một phương thức truy cập để thực hiện chỉ mộtAmgetbitmapvà khôngAmgettuplehoặc ngược lại, nếu nó Thực hiện nội bộ không phù hợp với API hoặc API khác.