2011-07-06 27 views

Trả lời

85

Giải thích tốt nhất là from Tom Lane, là tác giả của thuật toán trừ khi tôi đang nhầm lẫn. Xem thêm wikipedia article.

Tóm lại, nó hơi giống một lần quét seq. Sự khác biệt là, thay vì truy cập mọi trang đĩa, chỉ mục bitmap quét AND và OR chỉ áp dụng các chỉ mục cùng nhau và chỉ truy cập vào các trang đĩa mà nó cần.

Điều này khác với quét chỉ mục, trong đó chỉ mục được truy cập từng hàng theo thứ tự - nghĩa là trang đĩa có thể được truy cập nhiều lần.


câu hỏi trong nhận xét của bạn ... Đúng, đó là chính xác.

Quét chỉ mục sẽ đi qua từng hàng một, mở lại các trang đĩa, nhiều lần nếu cần (tất nhiên một số sẽ nằm trong bộ nhớ, nhưng bạn nhận được điểm).

Quét chỉ mục bitmap sẽ tuần tự mở danh sách ngắn các trang đĩa và lấy mọi hàng có thể áp dụng trong mỗi trang (do đó bạn gọi là kiểm tra lại trong kế hoạch truy vấn).

Lưu ý, như một sang một bên, cách phân nhóm/thứ tự hàng ảnh hưởng đến chi phí được liên kết với một trong hai phương pháp. Nếu các hàng ở khắp nơi theo thứ tự ngẫu nhiên, chỉ mục bitmap sẽ rẻ hơn. (Và, trên thực tế, nếu chúng thực sự là , tất cả ở nơi này, quét seq sẽ rẻ nhất, vì quét chỉ mục bitmap không phải là một số chi phí.)

+0

Vì vậy, "Quét bitmap": Một trang không thể được truy cập nhiều hơn một lần! nhưng "Chỉ mục có thể": Một trang có thể được truy cập nhiều lần, bởi vì chỉ mục được truy cập theo từng hàng theo thứ tự. – francs

Các vấn đề liên quan