Chi phí của các hoạt động I/O giữa quét chỉ mục và quét bảng khác nhau về cơ bản về cách truy cập dữ liệu, số lượng trang đọc và hiệu quả dựa trên tính chọn lọc và tổ chức dữ liệu truy vấn.
Quét chỉ mục liên quan đến việc truy cập dữ liệu bằng cách đi qua cấu trúc chỉ mục (thường là một cây b). Chi phí ở đây chủ yếu bao gồm hai thành phần: chi phí truy cập các trang chỉ mục và chi phí tìm nạp các trang bảng tương ứng. Các trang chỉ mục thường có các mẫu truy cập ngẫu nhiên vì các nút lá chỉ mục có thể không tiếp giáp về mặt vật lý trên đĩa, dẫn đến các hoạt động I/O ngẫu nhiên. Mỗi bước logic xuống cây chỉ mục từ gốc đến lá yêu cầu các trang đọc và chi phí này được ước tính bằng tham số chi phí trang ngẫu nhiên của hệ thống. Sau khi định vị các mục nhập chỉ mục cho các hàng có liên quan, hệ thống tìm nạp các trang dữ liệu bảng tương ứng. Số lượng trang dữ liệu đó tìm nạp phụ thuộc vào tính chọn lọc của truy vấn và mối tương quan vật lý giữa dữ liệu được lưu trữ và thứ tự chỉ mục (được gọi là tương quan). Một mối tương quan cao có nghĩa là các mục nhập chỉ mục Các vị trí hàng phù hợp với thứ tự dữ liệu vật lý, giảm I/O ngẫu nhiên và làm cho chỉ số quét hiệu quả hơn. Mặt khác, một mối tương quan thấp dẫn đến nhiều lần tìm nạp ngẫu nhiên, làm tăng đáng kể I/O.
Chi phí CPU trong quét chỉ số bao gồm xử lý từng hàng riêng lẻ, nhưng mối quan tâm chi phí chính là I/O. Ngoài ra còn có khía cạnh của khả năng hiển thị: nếu cơ sở dữ liệu có theo dõi bản đồ hiển thị nào các trang dữ liệu được hiển thị đầy đủ cho tất cả các giao dịch, hệ thống đôi khi có thể bỏ qua hoàn toàn việc đọc các trang nhất định trong quá trình quét chỉ có chỉ mục, giảm chi phí I/O một cách đáng kể.
Ngược lại, quét bảng hoặc quét bảng đầy đủ hoạt động bằng cách đọc tất cả các trang dữ liệu tuần tự từ bảng. I/O ở đây chủ yếu là tuần tự, có xu hướng nhanh hơn I/O ngẫu nhiên trên các đĩa quay hoặc ít bị phạt trên SSD. Chi phí của việc quét bảng đầy đủ là tương đối ổn định vì nó đọc toàn bộ bảng bất kể số lượng hàng thỏa mãn truy vấn. Chi phí này phụ thuộc vào tổng số trang trong bảng thay vì số lượng hàng được chọn. Quét bảng đầy đủ không được hưởng lợi từ tính chọn lọc; Họ phải đọc mọi trang ngay cả khi truy vấn lọc xuống hàng nhiều. Tuy nhiên, với các công nghệ lưu trữ hiện đại và tối ưu hóa như đọc nhiều khối, đọc song song và giảm tải lớp lưu trữ, chi phí quét bảng đầy đủ có thể cạnh tranh hoặc thậm chí ít hơn so với quét chỉ số cho các truy vấn lấy một phần đáng kể của bảng.
Trình tối ưu hóa dựa trên chi phí (CBO) quyết định giữa việc sử dụng quét chỉ mục và quét bảng đầy đủ dựa trên chi phí ước tính. Đối với các truy vấn có tính chọn lọc cao trong đó chỉ cần truy xuất một phần nhỏ các hàng có xu hướng có chi phí I/O thấp hơn vì ít trang bảng hơn được tìm nạp. Khi ngưỡng chọn lọc tăng (cần nhiều hàng hơn), chi phí I/O của các lần quét chỉ số tăng do số lượng trang ngẫu nhiên tìm nạp và tải chỉ số cao hơn, cuối cùng vượt qua chi phí quét bảng đầy đủ. Tại thời điểm này, CBO ủng hộ việc quét bảng vì chi phí I/O tuần tự nhỏ hơn gánh nặng I/O ngẫu nhiên của nhiều lần tra cứu chỉ số.
Một yếu tố quan trọng khác ảnh hưởng đến chênh lệch chi phí I/O là "yếu tố phân cụm" hoặc phân cụm vật lý của các hàng tương ứng với các phím chỉ số. Một yếu tố phân cụm thấp hơn (phân cụm tốt hơn) có nghĩa là các hàng được truy cập thông qua chỉ mục được đặt gần nhau, giảm I/O ngẫu nhiên và cải thiện hiệu suất quét chỉ số. Một yếu tố phân cụm cao hơn dẫn đến I/O ngẫu nhiên hơn trong quá trình quét chỉ số và giảm lợi ích của nó so với quét bảng.
Các hệ thống cơ sở dữ liệu hiện đại cũng có thể triển khai quét song song cả quét và quét toàn bộ bảng trong đó tài nguyên I/O và CPU được chia sẻ giữa nhiều công nhân, có thể giảm tổng thời gian truy vấn. Tuy nhiên, tính chất cơ bản của I/O cho quét chỉ mục (truy cập trang ngẫu nhiên) so với quét bảng (chủ yếu là truy cập trang tuần tự) vẫn là một điểm khác biệt chính.
Để tóm tắt các điểm chính về sự khác biệt về chi phí I/O:
- Quét chỉ mục phải chịu chi phí I/O từ các trang chỉ mục (truy cập ngẫu nhiên) cộng với tìm nạp các trang dữ liệu tương ứng (có khả năng truy cập ngẫu nhiên). Chi phí rất nhạy cảm với tính chọn lọc, tương quan và yếu tố phân cụm.
- Quét bảng đầy đủ thực hiện I/O tuần tự đọc tất cả các trang, với chi phí I/O tương đối ổn định không phân biệt tính chọn lọc.
- Quét chỉ mục có thể vượt trội hơn khi các truy vấn nhắm mục tiêu các tập hợp dữ liệu nhỏ, nhưng bị chi phí I/O ngẫu nhiên khi tính chọn lọc tăng.
- Quét bảng đầy đủ có thể hiệu quả hơn khi một phần lớn bảng cần truy cập do I/O tuần tự hiệu quả.
- Bản đồ khả năng hiển thị và quét chỉ có chỉ mục có thể giảm chi phí I/O trong một số trường hợp quét chỉ mục bằng cách tránh đọc trang dữ liệu.
- Song song có thể cải thiện cả hai loại quét nhưng không thay đổi các đặc điểm I/O cơ bản.
- Trình tối ưu hóa cân bằng các yếu tố chi phí này để chọn phương pháp hiệu quả nhất dựa trên các đặc điểm truy vấn và dữ liệu.