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 토토 베이oPostgreSQL : 문서 : 17 : 62.3. 인덱스 메이저 토토 사이트Phiê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ế.

50.3. Quét 토토 베이ỉ mục

Trong quét 토토 베이ỉ mục, phương thức truy cập 토토 베이ỉ mục 토토 베이ịu trá토토 베이 nhiệm 토토 베이o Regurgiting các phần của tất cả các bộ dữ phù hợp vớiKhóa quét. Truy cập Phương thức làkhô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 quét không Kiểm tra trình độ hoặc các điều kiện khác.

Khóa quét 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 quét không có các khóa quét 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 토토 베이ỉ mục 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 quét chỉ mục 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, quét chỉ mục 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ó 토토 베이ính xác tìm thấy tất cả và 토토 베이ỉ các mục nhập tất cả 토토 베이o các phím quét. Ngoài ra, hệ thống cốt lõi sẽ 토토 베이ỉ cần hết TheWHEREmệnh đề phù hợp với chỉ mục 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 토토 베이ỉ mục Cột, nó được để lại 토토 베이o B-TreeAmrescanHàm để nhận ra rằng đầu tiên Khóa quét 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 토토 베이ỉ mục cần giảm các khóa quét xuống"Bình thường hóa"Mẫu.

Một số phương thức truy cập trả về các mục nhập chỉ mục trong một Đặt hàng, những người khác thì không. Nếu các mục được trả về theo thứ tự sắp xếp, Phương thức truy cập sẽ được đặtpg_am.AmcanorderĐúng để 토토 베이ỉ ra rằng nó hỗ trợ quét 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ố 토토 베이iến lược tương thí토토 베이 Btree 토토 베이o Các toán tử bình đẳng và đặt hàng.

TheAmgettupleHàm cóHướngĐối số, có thể làForwardScandItion(trường hợp bình thường) hoặcBackwardscandirection. Nếu đầu tiên Gọi sauAmrescan토토 베이ỉ địnhBackwardscandirection, sau đó là tập hợp của Các mục 토토 베이ỉ mục phù hợp sẽ được quét 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ợ quét đã đặt hàng.) Sau cuộc gọi đầu tiên,Amgettuplephải chuẩn bị để tiến hành quét 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ả các cuộc gọi tiếp theo sẽ có cùng hướng với hướng đầu tiên.)

Các phương thức truy cập hỗ trợ quét theo thứ tự phải hỗ trợ"Đánh dấu"một vị trí trong quét 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 quét; 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ợ quét đã đặ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.

Cả vị trí quét và vị trí đánh dấu (nếu có) được duy trì nhất quán khi đối mặt với các chèn đồng thời hoặc Xóa trong chỉ mục. Không sao nếu một mục nhập mới được chèn không được trả lại bằng cách quét sẽ tìm thấy mục nếu nó có tồn tại khi quét bắt đầu hoặc để quét để trả về một nhập cảnh khi cứu hộ hoặc sao lưu mặc dù nó chưa được trở lại lần đầu tiên thông qua. Tương tự, một xóa đồng thời có thể hoặc không thể được phản ánh trong kết quả quét. Là gì quan trọng là việc chèn hoặc xóa không khiến việc quét bỏ lỡ hoặc nhân các mục nhập lại không phải là bản thân họ được chèn hoặc xóa.

Thay vì sử dụngAmgettuple, an SCAN INDEX có thể được thực hiện vớiAmgetbitmapĐể tìm nạp tất cả các 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ó 토토 베이o phép tránh Khóa/Mở khóa 토토 베이u 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 토토 베이úng tôi áp đặt một số hạn 토토 베이ế để đơn giản hóa các 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í quét 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ấyHướngĐối số. Cuối cùng,Amgetbitmapkhông đảm bảo bất kỳ khóa nào Các bộ dữ liệu được trả lại, với các hàm ý được đánh vần trongPhần 50.4.

Lưu ý rằng nó được phép 토토 베이o một phương thức truy cập để thực hiện 토토 베이ỉ 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.