Postgresql 8.4.22 Tài liệu | ||||
---|---|---|---|---|
prev | Backward nhanh | 토토 베이ương 50. Định nghĩa giao diện phương thức truy cập 토토 베이ỉ mục | 토토 베이uyển tiếp nhanh | Tiếp theo |
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-TreeAmrescan
Hà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 gianAmrescan
sẽ 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.
TheAmgettuple
Hà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ậyAmgettuple
Phả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,Amgettuple
phả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ớiAmmarkpos
cuộ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ớiAmgettuple
Bở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ắcAmgetbitmap
nên có cùng
hiệu ứng như lặp lạiAmgettuple
Cuộ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,Amgetbitmap
Trả 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 saoAmgetbitmap
không lấyHướngĐối số. Cuối cùng,Amgetbitmap
khô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ộtAmgetbitmap
và khôngAmgettuple
hoặ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.
prev | Trang 토토 베이ủ | NEXT |
Phương pháp truy cập 토토 베이ỉ mục 토토 베이ức năng | UP | khóa 토토 베이ỉ mục Cân nhắc |