Įvesties / išvesties operacijų sąnaudos indekso ir lentelės nuskaitymo atveju skiriasi keliais būdais:
Rodyklės nuskaitymas
1. Įvesties/išvesties operacijų kaina: rodyklės nuskaitymas paprastai yra efektyvesnis I/O operacijų atžvilgiu. Jiems tereikia nuskaityti indeksą, kuris paprastai yra mažesnis nei visa lentelė, todėl prieiga prie disko yra mažiau.
2. Įvesties / išvesties kaina: indekso nuskaitymo įvesties / išvesties kaina paprastai yra mažesnė, nes indeksas yra kompaktiškesnis ir jį galima greičiau nuskaityti.
3. CPU kaina: indekso nuskaitymo procesoriaus kaina paprastai yra mažesnė, nes indeksas yra labiau organizuotas ir galima efektyviau ieškoti.
4. Bendra operatoriaus kaina: bendra operatoriaus kaina už indekso nuskaitymą paprastai yra mažesnė, nes į ją įeina I/O ir CPU išlaidos.
Lentelės nuskaitymas
1. Įvesties/išvesties operacijų kaina: lentelės nuskaitymas paprastai yra mažiau efektyvus I/O operacijų atžvilgiu. Jie turi perskaityti visą lentelę, o tai gali sukelti daugiau prieigos prie disko.
2. Įvesties / išvesties kaina: lentelės nuskaitymo įvesties / išvesties kaina paprastai yra didesnė, nes lentelė yra didesnė ir jai reikia daugiau prieigos prie disko.
3. CPU kaina: lentelės nuskaitymo procesoriaus kaina paprastai yra didesnė, nes lentelė yra didesnė ir reikalauja daugiau apdorojimo.
4. Bendra operatoriaus kaina: bendra operatoriaus kaina už lentelės nuskaitymą paprastai yra didesnė, nes į ją įeina I/O ir CPU išlaidos.
Išvada
Apibendrinant, rodyklės nuskaitymas paprastai yra efektyvesnis I/O operacijų ir procesoriaus naudojimo požiūriu, palyginti su lentelių nuskaitymu. Tačiau pasirinkimas tarp šių dviejų priklauso nuo konkrečių užklausos ir duomenų bazės reikalavimų ir apribojimų.
Citatos:[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 m
[5] http://venkatsqlinterview.blogspot.com/2011/05/difference-between-index-scan-and-index.html