Kompromisy mezi používáním indexů a prohledáváním tabulek v MySQL na AWS RDS závisí na několika faktorech, jako je velikost tabulky, počet řádků, vzor dotazu a typ dat, ke kterým se přistupuje. Zde je několik klíčových kompromisů, které je třeba zvážit:
Indexy
1. Výhody:
- Rychlejší provádění dotazů: Indexy mohou výrazně zlepšit výkon dotazů tím, že databázi umožňují rychle najít konkrétní řádky.
- Snížený diskový I/O: Indexy mohou snížit diskové I/O operace tím, že databázi umožní přímý přístup k požadovaným datům.
- Vylepšené získávání dat: Indexy mohou zlepšit získávání dat tím, že databázi umožňují rychle najít konkrétní řádky.
2. Nevýhody:
- Zvýšené požadavky na úložiště: Indexy vyžadují další úložný prostor, což může zvýšit celkové požadavky na úložiště.
- Zvýšená údržba: Indexy vyžadují pravidelnou údržbu, jako je přestavba a reorganizace, aby byl zajištěn optimální výkon.
- Zvýšená složitost: Indexy mohou databázi zkomplikovat a ztížit její správu a údržbu.
Skenování tabulek
1. Výhody:
- Jednoduché a snadno implementovatelné: Skenování tabulek je jednoduché a snadno implementovatelné a vyžaduje minimální nastavení a údržbu.
- Nízké požadavky na úložiště: Skenování tabulek vyžaduje minimální úložný prostor, protože nevyžadují další indexy.
- Flexibilita: Skenování tabulek je flexibilní a lze je použít s různými vzory dotazů a datovými typy.
2. Nevýhody:
- Pomalejší provádění dotazu: Prohledávání tabulek může být pomalejší než indexované dotazy, protože databáze potřebuje prohledat celou tabulku, aby našla požadovaná data.
- Zvýšené diskové I/O: Prohledávání tabulek může zvýšit diskové I/O operace, protože databáze potřebuje číst celou tabulku, aby našla požadovaná data.
- Snížené načítání dat: Skenování tabulek může omezit načítání dat, protože databáze potřebuje prohledat celou tabulku, aby našla požadovaná data.
Závěr
Závěrem lze říci, že volba mezi používáním indexů a prohledávání tabulek v MySQL na AWS RDS závisí na konkrétních požadavcích a omezeních vašeho prostředí. Indexy mohou zajistit rychlejší provádění dotazů a lepší načítání dat, ale vyžadují další úložný prostor a údržbu. Skenování tabulek je jednodušší a snadněji implementovatelné, ale může být pomalejší a může zvýšit diskové I/O operace.
Citace:[1] https://techcommunity.microsoft.com/t5/sql-server-blog/index-examples-and-tradeoffs/ba-p/383126
[2] https://www.sqlservercentral.com/forums/topic/table-scan-vs-clustered-index-scan
[3] https://stackoverflow.com/questions/30094/table-scan-vs-add-index-which-is-quicker
[4] http://venkatsqlinterview.blogspot.com/2011/05/difference-between-index-scan-and-index.html
[5] https://dzone.com/articles/there-any-differences-between