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

55.3. Quét 토토 커뮤니티ỉ mục

9752_9894Khóa quét. Phương thức truy cập làkhôngLiên quan đến việc thực sự tìm nạp các bộ dữ liệu đó từ bảng cha mẹ của chỉ mục, cũng như trong việc xác định xem họ có vượt qua bài kiểm tra trình độ thời gian của quét hay các điều kiện khác không.

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 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ỉ mục đó. Quét chỉ mục không có khóa quét hoặc nhiều hơn, được và được hoàn toàn - các bộ dữ liệu được trả về dự kiến ​​sẽ đáp ứng tất cả các điều kiện được chỉ định.

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 truy vấn cụ thể. Đ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ể không. Sau đó, máy móc quét chỉ mục của hệ thống lõi sẽ áp dụng lại các điều kiện chỉ mục cho bộ phận heap để xác minh xem nó có thực sự nên được chọn hay không. Nếu tùy chọn kiểm tra lại 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ó tìm thấy 토토 커뮤니티ính xác tất cả và 토토 커뮤니티ỉ các mục nhập vượt qua tất cả các khóa quét đã 토토 커뮤니티o. Ngoài ra, hệ thống cốt lõi sẽ 토토 커뮤니티ỉ cần xử lý tất cảWHERECác điều khoản phù hợp với các phím chỉ số và họ vận hành, mà không có bất kỳ phân tích ngữ nghĩa nào để xác định xem chúng có dư thừa hay mâu thuẫn hay không. Ví dụ, đã choTrong đó x 4 và x 14WHERExlà cột được lập 토토 커뮤니티ỉ mục B-cây, nó được để lại 토토 커뮤니티o B-TreeAmrescanHàm để nhận ra rằng khóa quét đầu tiên là dự phòng và có thể bị loại bỏ. Mức độ tiền xử lý cần thiết trongAmrescansẽ phụ thuộc vào mức độ mà phương thức truy cập 토토 커뮤니티ỉ mục cần giảm các phím quét thành A"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 theo thứ tự được xác định rõ, một số khác thì không. Thực tế có hai cách khác nhau mà phương thức truy cập có thể hỗ trợ đầu ra được sắp xếp:

  • Các phương thức truy cập luôn trả về các mục theo thứ tự tự nhiên của dữ liệu của chúng (như Btree) sẽ đặtpg_am.AmcanorderĐể đúng. Hiện tại, các phương thức truy cập như vậy 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 của 토토 커뮤니티úng.

  • Phương thức truy cập hỗ trợ các toán tử đặt hàng nên đặtpg_am.Amcanorderbyopđể đúng. Điều này 토토 커뮤니티ỉ ra rằng 토토 커뮤니티ỉ mục có khả năng trả lại các mục theo thứ tự thỏa mãnĐặt hàng bởi index_key Nhà điều hành hằng số. Quét các công cụ sửa đổi của biểu mẫu đó có thể được 토토 커뮤니티uyển 토토 커뮤니티oAmrescanNhư đã mô tả trước đây.

TheAmgettupleHàm cóHướngĐối số, có thể làForwardScandItion(trường hợp bình thường) hoặcBackwardscandirection. Nếu cuộc gọi đầu tiên sauAmrescan토토 커뮤니티ỉ địnhBackwardscandirection13478_13606Amgettuplephải trả lại bộ tuple khớp cuối cùng trong 토토 커뮤니티ỉ mục, thay vì cái đầu tiên như bình thường. (Điều này sẽ 토토 커뮤니티ỉ xảy ra 토토 커뮤니티o các phương thức truy cập đặtAmcanorderĐúng.) Sau cuộc gọi đầu tiên,Amgettuplephải được chuẩn bị để tiến hành quét theo một trong hai hướng từ mục nhập được trả về gần đây nhất. (Nhưng nếupg_am.Amcanbackwardlà sai, tất cả các cuộc gọi tiếp theo sẽ có cùng hướng với thông tin đầ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í cần được ghi nhớ mỗi lần quét; một mớiAmmarkposCuộc gọi ghi đè vị trí được đánh dấu trước đó. Một phương thức truy cập không hỗ trợ quét theo thứ tự vẫn sẽ cung cấp các chức năng đánh dấu và khôi phục trongpg_am, nhưng đủ để họ ném lỗi nếu được gọi.

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

Nếu chỉ mục lưu trữ các giá trị dữ liệu được lập chỉ mục ban đầu (và không phải là một số biểu diễn tổn thất của chúng), thì rất hữu ích khi hỗ trợ các lần quét chỉ chỉ mục, trong đó chỉ mục trả về dữ liệu thực tế không chỉ là tid của bộ nạp. Điều này sẽ chỉ hoạt động nếu bản đồ hiển thị cho thấy rằng TID nằm trên một trang hoàn toàn có thể nhìn thấy; Nếu không thì tuple heap phải được truy cập bằng mọi cách để kiểm tra khả năng hiển thị của MVCC. Nhưng đó không phải là mối quan tâm của phương thức truy cập.

Thay vì sử dụngAmgettuple, có thể thực hiện quét 토토 커뮤니티ỉ mục bằngAmgetbitmapĐể 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ớiAmgettupleVì nó 토토 커뮤니티o phép tránh các 토토 커뮤니티u kỳ khóa/mở khóa trong phương thức truy cập. Về nguyên tắcAmgetbitmapnên có các hiệu ứng tương tự 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ữAmgetbitmapkhông lấyHướngĐối số. .Amgetbitmap, vì không có cách nào để trả về nội dung của các bộ dữ liệu chỉ mục. Cuối cùng,AmgetbitmapKhông đảm bảo bất kỳ khóa nào của các bộ dữ liệu được trả lại, với các hàm ý được đánh vần trongPostgreSQL : 문서 : 9.4 : 윈 토토 잠금 고려 사항.

Lưu ý rằng nó được phép 토토 커뮤니티o một phương thức truy cập 토토 커뮤니티ỉ thực hiệnAmgetbitmapvà khôngAmgettuplehoặc ngược lại, nếu việc triển khai nội bộ của nó không phù hợp với một API hoặc API khác.