I/O-toimintojen kustannukset vaihtelevat indeksitarkistuksen ja taulukkotarkistuksen välillä usealla tavalla:
Hakemiston skannaus
1. I/O-toimintojen kustannukset: Indeksiskannaukset ovat yleensä tehokkaampia I/O-toimintojen kannalta. Heidän tarvitsee vain lukea hakemisto, joka on tyypillisesti pienempi kuin koko taulukko, mikä johtaa harvempiin levykäyttöihin.
2. I/O-kustannukset: Indeksitarkistuksen I/O-kustannukset ovat tyypillisesti alhaisemmat, koska indeksi on kompaktimpi ja sitä voidaan lukea nopeammin.
3. CPU-kustannukset: Indeksitarkistuksen suorittimen kustannukset ovat tyypillisesti alhaisemmat, koska indeksi on organisoitumpi ja sitä voidaan etsiä tehokkaammin.
4. Operaattorin kokonaiskustannukset: Indeksitarkistuksen operaattorin kokonaiskustannukset ovat tyypillisesti alhaisemmat, koska se sisältää I/O- ja CPU-kustannukset.
Taulukkoskannaus
1. I/O-toimintojen kustannukset: Taulukkoskannaukset ovat yleensä vähemmän tehokkaita I/O-toimintojen kannalta. Heidän on luettava koko taulukko, mikä voi johtaa useampaan levykäyttöön.
2. I/O-kustannukset: Taulukon tarkistuksen I/O-kustannukset ovat yleensä korkeammat, koska taulukko on suurempi ja vaatii enemmän levykäyttöä.
3. CPU-kustannukset: Taulukon skannauksen suorittimen kustannukset ovat yleensä korkeammat, koska taulukko on suurempi ja vaatii enemmän käsittelyä.
4. Operaattorin kokonaiskustannukset: Taulukon skannauksen operaattorin kokonaiskustannukset ovat tyypillisesti korkeammat, koska se sisältää I/O- ja CPU-kustannukset.
Johtopäätös
Yhteenvetona voidaan todeta, että hakemistoskannaukset ovat yleensä tehokkaampia I/O-toimintojen ja suorittimen käytön suhteen kuin taulukkoskannaukset. Valinta näiden kahden välillä riippuu kuitenkin kyselyn ja tietokannan erityisvaatimuksista ja rajoituksista.
Lainaukset:[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