Стоимость операций ввода-вывода при сканировании индекса и сканировании таблицы различается по нескольким причинам:
Индексное сканирование
1. Стоимость операций ввода-вывода. Сканирование индекса обычно более эффективно с точки зрения операций ввода-вывода. Им нужно только прочитать индекс, который обычно меньше всей таблицы, что приводит к меньшему количеству обращений к диску.
2. Стоимость ввода-вывода. Стоимость ввода-вывода при сканировании индекса обычно ниже, поскольку индекс более компактен и его можно прочитать быстрее.
3. Затраты ЦП. Затраты ЦП на сканирование индекса обычно ниже, поскольку индекс более организован и в нем можно осуществлять более эффективный поиск.
4. Общие затраты оператора. Общие затраты оператора на сканирование индекса обычно ниже, поскольку включают в себя затраты на ввод-вывод и процессор.
Сканирование таблицы
1. Стоимость операций ввода-вывода. Сканирование таблиц обычно менее эффективно с точки зрения операций ввода-вывода. Им необходимо прочитать всю таблицу, что может привести к большему количеству обращений к диску.
2. Стоимость ввода-вывода. Стоимость ввода-вывода при сканировании таблицы обычно выше, поскольку таблица больше и требует большего количества обращений к диску.
3. Затраты ЦП. Затраты ЦП на сканирование таблицы обычно выше, поскольку таблица больше и требует больше обработки.
4. Совокупные затраты оператора. Общие затраты оператора на сканирование таблицы обычно выше, поскольку включают в себя затраты на ввод-вывод и ЦП.
Заключение
Подводя итог, сканирование индекса обычно более эффективно с точки зрения операций ввода-вывода и использования ЦП по сравнению со сканированием таблиц. Однако выбор между ними зависит от конкретных требований и ограничений запроса и базы данных.
Цитаты:[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