Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Jak se liší náklady na I/O operace mezi prohledáváním indexů a prohledáváním tabulek


Jak se liší náklady na I/O operace mezi prohledáváním indexů a prohledáváním tabulek


Náklady na I/O operace se mezi prohledáváním indexů a prohledáváním tabulek liší několika způsoby:

Indexové skenování

1. Cena I/O operací: Indexové skenování je obecně efektivnější z hlediska I/O operací. Potřebují pouze číst index, který je obvykle menší než celá tabulka, což má za následek méně přístupů na disk.

2. Cena I/O: Cena I/O pro skenování indexu je obvykle nižší, protože index je kompaktnější a lze jej číst rychleji.

3. Náklady na CPU: Náklady na CPU pro skenování indexu jsou obvykle nižší, protože index je lépe organizovaný a lze jej prohledávat efektivněji.

4. Celkové náklady na operátora: Celkové náklady na operátora na skenování indexu jsou obvykle nižší, protože zahrnují náklady na I/O a CPU.

Skenování stolu

1. Cena I/O operací: Skenování tabulek je obecně méně efektivní z hlediska I/O operací. Potřebují číst celou tabulku, což může mít za následek více přístupů na disk.

2. Cena I/O: Cena I/O pro skenování tabulky je obvykle vyšší, protože tabulka je větší a vyžaduje více přístupů na disk.

3. Cena CPU: Cena CPU pro skenování tabulky je obvykle vyšší, protože tabulka je větší a vyžaduje více zpracování.

4. Celkové náklady na operátora: Celkové náklady na operátora na skenování tabulky jsou obvykle vyšší, protože zahrnují náklady na vstup/výstup a CPU.

Závěr

Stručně řečeno, prohledávání indexů je obecně efektivnější z hlediska I/O operací a využití procesoru ve srovnání s prohledáváním tabulek. Výběr mezi těmito dvěma však závisí na konkrétních požadavcích a omezeních dotazu a databáze.

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