Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Ako sa líšia náklady na I/O operácie medzi skenovaním indexov a skenovaním tabuliek


Ako sa líšia náklady na I/O operácie medzi skenovaním indexov a skenovaním tabuliek


Náklady na I/O operácie sa medzi skenovaním indexov a skenovaním tabuliek líšia niekoľkými spôsobmi:

Indexové skenovanie

1. Cena I/O operácií: Indexové skenovanie je vo všeobecnosti efektívnejšie z hľadiska I/O operácií. Potrebujú iba prečítať index, ktorý je zvyčajne menší ako celá tabuľka, čo vedie k menšiemu počtu prístupov na disk.

2. Cena I/O: Cena I/O pre skenovanie indexu je zvyčajne nižšia, pretože index je kompaktnejší a možno ho čítať rýchlejšie.

3. Náklady na CPU: Náklady na CPU na skenovanie indexu sú zvyčajne nižšie, pretože index je organizovanejší a možno v ňom efektívnejšie vyhľadávať.

4. Celkové náklady operátora: Celkové náklady operátora na skenovanie indexu sú zvyčajne nižšie, pretože zahŕňajú náklady na vstup/výstup a náklady na CPU.

Skenovanie tabuľky

1. Cena I/O operácií: Prehľadávanie tabuliek je vo všeobecnosti menej efektívne z hľadiska I/O operácií. Potrebujú prečítať celú tabuľku, čo môže viesť k väčšiemu počtu prístupov na disk.

2. Cena I/O: Cena I/O na skenovanie tabuľky je zvyčajne vyššia, pretože tabuľka je väčšia a vyžaduje viac prístupov na disk.

3. Náklady na CPU: Náklady na CPU na skenovanie tabuľky sú zvyčajne vyššie, pretože tabuľka je väčšia a vyžaduje si viac spracovania.

4. Celkové náklady operátora: Celkové náklady operátora na skenovanie tabuľky sú zvyčajne vyššie, pretože zahŕňajú náklady na I/O a CPU.

Záver

Stručne povedané, skenovanie indexov je vo všeobecnosti efektívnejšie z hľadiska I/O operácií a využitia procesora v porovnaní so skenovaním tabuliek. Voľba medzi nimi však závisí od konkrétnych požiadaviek a obmedzení dopytu a databázy.

Citácie:
[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