Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Cum diferă costurile operațiunilor I/O între scanările de index și scanările de tabel


Cum diferă costurile operațiunilor I/O între scanările de index și scanările de tabel


Costurile operațiunilor I/O diferă între scanările de index și scanările de tabel în mai multe moduri:

Scanare index

1. Costul operațiunilor I/O: Scanările indexului sunt în general mai eficiente în ceea ce privește operațiunile I/O. Ei trebuie doar să citească indexul, care este de obicei mai mic decât întregul tabel, rezultând mai puține accesări la disc.

2. Costul I/O: Costul I/O pentru o scanare index este de obicei mai mic, deoarece indexul este mai compact și poate fi citit mai rapid.

3. Costul CPU: Costul CPU pentru o scanare a indexului este de obicei mai mic, deoarece indexul este mai organizat și poate fi căutat mai eficient.

4. Costul total al operatorului: Costul total al operatorului pentru o scanare index este de obicei mai mic, deoarece include costurile I/O și CPU.

Scanare tabel

1. Costul operațiunilor I/O: Scanările tabelelor sunt în general mai puțin eficiente în ceea ce privește operațiunile I/O. Ei trebuie să citească întregul tabel, ceea ce poate duce la mai multe accesări la disc.

2. Costul I/O: Costul I/O pentru o scanare a unui tabel este de obicei mai mare, deoarece tabelul este mai mare și necesită mai multe accesări la disc.

3. Cost CPU: costul CPU pentru o scanare a unui tabel este de obicei mai mare, deoarece tabelul este mai mare și necesită mai multă procesare.

4. Costul total al operatorului: Costul total al operatorului pentru o scanare a tabelului este de obicei mai mare, deoarece include costurile I/O și CPU.

Concluzie

În rezumat, scanările de index sunt în general mai eficiente în ceea ce privește operațiunile I/O și utilizarea CPU, comparativ cu scanările de tabel. Cu toate acestea, alegerea între cele două depinde de cerințele și constrângerile specifice ale interogării și ale bazei de date.

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