Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Как различаются затраты на операции ввода-вывода при сканировании индекса и сканировании таблицы?


Как различаются затраты на операции ввода-вывода при сканировании индекса и сканировании таблицы?


Стоимость операций ввода-вывода при сканировании индекса и сканировании таблицы различается по нескольким причинам:

Индексное сканирование

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