sql >> Databáze >  >> RDS >> Sqlserver

Jak zvýšit výkon databáze?

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


  1. Jak zavolat třídu java z oracle trigger?

  2. Výzva k předkládání příspěvků na PGDay.IT 2011 byla prodloužena

  3. Chyba 2006:Server MySQL zmizel pomocí Pythonu, Bottle Microframework a Apache

  4. Příkaz MYSQL If v transakci způsobující chybu