Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Kuidas erinevad sisend- ja väljundtoimingute kulud indeksi- ja tabelikontrollide vahel?


Kuidas erinevad sisend- ja väljundtoimingute kulud indeksi- ja tabelikontrollide vahel?


I/O-toimingute kulud erinevad indeksi- ja tabelikontrollide puhul mitmel viisil:

Indeksi skannimine

1. Sisend- ja väljundtoimingute maksumus: indeksi skaneerimine on üldiselt sisend- ja väljundtoimingute osas tõhusam. Nad peavad lugema ainult indeksit, mis on tavaliselt väiksem kui kogu tabel, mille tulemuseks on vähem juurdepääsu kettale.

2. I/O kulu: indeksi skannimise I/O kulu on tavaliselt madalam, kuna indeks on kompaktsem ja seda saab kiiremini lugeda.

3. CPU kulu: indeksi skannimise protsessori hind on tavaliselt madalam, kuna indeks on paremini organiseeritud ja seda saab tõhusamalt otsida.

4. Operaatori kogukulu: indeksi skannimise operaatori kogukulu on tavaliselt madalam, kuna see sisaldab I/O- ja CPU-kulusid.

Tabeli skaneerimine

1. Sisend- ja väljundtoimingute maksumus: tabelite skaneerimine on sisend- ja väljundtoimingute osas üldiselt vähem tõhus. Nad peavad lugema kogu tabelit, mis võib kaasa tuua rohkem juurdepääsu kettale.

2. I/O kulu: tabeli kontrollimise sisend/väljundkulu on tavaliselt suurem, kuna tabel on suurem ja nõuab rohkem kettale juurdepääsu.

3. CPU kulu: tabeli skannimise protsessori hind on tavaliselt suurem, kuna tabel on suurem ja vajab rohkem töötlemist.

4. Operaatori kogukulu: tabeli skannimise operaatori kogukulu on tavaliselt suurem, kuna see sisaldab sisendi/väljundi ja protsessori kulusid.

Järeldus

Kokkuvõtteks võib öelda, et indeksi skaneerimine on üldiselt sisend-/väljundtoimingute ja protsessori kasutuse osas tõhusam võrreldes tabelikontrollidega. Valik nende kahe vahel sõltub aga päringu ja andmebaasi spetsiifilistest nõuetest ja piirangutest.

Tsitaadid:
[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