Koszty operacji we/wy różnią się w przypadku skanowania indeksów i tabel na kilka sposobów:
Skanowanie indeksu
1. Koszt operacji we/wy: Skanowanie indeksów jest na ogół bardziej wydajne pod względem operacji we/wy. Muszą jedynie odczytać indeks, który jest zwykle mniejszy niż cała tabela, co skutkuje mniejszą liczbą dostępów do dysku.
2. Koszt we/wy: Koszt we/wy skanowania indeksu jest zazwyczaj niższy, ponieważ indeks jest bardziej zwarty i można go szybciej odczytać.
3. Koszt procesora: Koszt procesora podczas skanowania indeksu jest zazwyczaj niższy, ponieważ indeks jest lepiej zorganizowany i można go efektywniej przeszukiwać.
4. Całkowity koszt operatora: Całkowity koszt operatora skanowania indeksu jest zazwyczaj niższy, ponieważ obejmuje koszty we/wy i procesora.
Skan tabeli
1. Koszt operacji we/wy: Skanowanie tabel jest zazwyczaj mniej wydajne pod względem operacji we/wy. Muszą przeczytać całą tabelę, co może skutkować większą liczbą dostępów do dysku.
2. Koszt we/wy: Koszt we/wy skanowania tabeli jest zazwyczaj wyższy, ponieważ tabela jest większa i wymaga większego dostępu do dysku.
3. Koszt procesora: Koszt procesora podczas skanowania tabeli jest zazwyczaj wyższy, ponieważ tabela jest większa i wymaga większego przetwarzania.
4. Całkowity koszt operatora: Całkowity koszt operatora skanowania tabeli jest zazwyczaj wyższy, ponieważ obejmuje koszty we/wy i procesora.
Wniosek
Podsumowując, skanowanie indeksów jest na ogół bardziej wydajne pod względem operacji we/wy i użycia procesora w porównaniu ze skanowaniem tabel. Jednak wybór między nimi zależy od konkretnych wymagań i ograniczeń zapytania i bazy danych.
Cytaty:[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