Chi phí của hoạt động I/O giữa quét chỉ mục và quét bảng khác nhau theo một số cách:
Quét chỉ mục
1. Chi phí hoạt động I/O: Quét chỉ mục thường hiệu quả hơn về mặt hoạt động I/O. Họ chỉ cần đọc chỉ mục, thường nhỏ hơn toàn bộ bảng, dẫn đến ít quyền truy cập vào đĩa hơn.
2. Chi phí I/O: Chi phí I/O cho việc quét chỉ mục thường thấp hơn vì chỉ mục nhỏ gọn hơn và có thể đọc nhanh hơn.
3. Chi phí CPU: Chi phí CPU cho việc quét chỉ mục thường thấp hơn do chỉ mục được tổ chức tốt hơn và có thể được tìm kiếm hiệu quả hơn.
4. Tổng chi phí của người vận hành: Tổng chi phí của người vận hành cho một lần quét chỉ mục thường thấp hơn vì nó bao gồm chi phí I/O và CPU.
Quét bảng
1. Chi phí hoạt động I/O: Quét bảng thường kém hiệu quả hơn về mặt hoạt động I/O. Họ cần đọc toàn bộ bảng, điều này có thể dẫn đến nhiều lượt truy cập đĩa hơn.
2. Chi phí I/O: Chi phí I/O cho việc quét bảng thường cao hơn vì bảng lớn hơn và yêu cầu nhiều quyền truy cập vào ổ đĩa hơn.
3. Chi phí CPU: Chi phí CPU cho việc quét bảng thường cao hơn vì bảng lớn hơn và yêu cầu xử lý nhiều hơn.
4. Tổng chi phí của người vận hành: Tổng chi phí của người vận hành cho một lần quét bảng thường cao hơn vì nó bao gồm chi phí I/O và CPU.
Phần kết luận
Tóm lại, quét chỉ mục thường hiệu quả hơn về mặt hoạt động I/O và mức sử dụng CPU so với quét bảng. Tuy nhiên, việc lựa chọn giữa hai điều này phụ thuộc vào các yêu cầu và ràng buộc cụ thể của truy vấn và cơ sở dữ liệu.
Trích dẫn:[1] https://www.ibm.com/docs/en/db2/11.5?topic=methods-data-access-through-index-scans
[2] https://stackoverflow.com/questions/8702905/table-scan-and-index-scan-in-sql
[3] https://dba.stackexchange.com/questions/250474/ Shouldnt-operator-cost-at-least-be-as-large-as-i-o-or-cpu-cost-that-comprises-i
[4] https://forums.oracle.com/ords/r/apexds/community/q?question=cost-of-a-full-table-scan-is-less-than-an-index-unique-scan -1453
[5] http://venkatsqlinterview.blogspot.com/2011/05/difference-between-index-scan-and-index.html