Optimalizujte logický design
Logická úroveň je o struktuře dotazu a samotných tabulek. Zkuste to nejprve maximalizovat. Cílem je získat přístup k co nejmenšímu počtu dat na logické úrovni.
- Mějte nejúčinnější dotazy SQL
- Navrhněte logické schéma, které podporuje potřeby aplikace (např. typ sloupců atd.)
- Navrhněte kompromis tak, aby podporoval některé případy použití lépe než jiné
- Relační omezení
- Normalizace
Optimalizujte fyzický design
Fyzická úroveň se zabývá nelogickými úvahami, jako je typ indexů, parametry tabulek atd. Cílem je optimalizace IO, která je vždy úzkým hrdlem. Vylaďte každý stůl tak, aby vyhovoval jeho potřebám. Malá tabulka může být načtena trvale načtena v mezipaměti DBMS, tabulka s nízkou rychlostí zápisu může mít jiné nastavení než tabulka s vysokou rychlostí aktualizace, aby zabrala méně místa na disku atd. V závislosti na dotazech lze použít jiný index atd. denormalizovaná data transparentně s materializovanými pohledy atd.
- Paremetry tabulek (velikost alokace atd.)
- Indexy (kombinované, typy atd.)
- Parametry celého systému (velikost mezipaměti atd.)
- Rozdělení
- denormalizace
Zkuste nejprve vylepšit logický design, poté fyzický design. (Hranice mezi oběma je však vágní, takže o mé kategorizaci můžeme polemizovat).
Optimalizujte údržbu
Databáze musí být provozována správně, aby zůstala co nejefektivnější. To zahrnuje několik úkonů údržby, které mohou mít dopad na výkon, např.
- Udržujte statistiky aktuální
- Pravidelně přeřazujte kritické tabulky
- Údržba disku
- Všechny systémové věci, aby server fungoval