sql >> Database teknologi >  >> RDS >> Sqlserver

Hvordan øger man en databases ydeevne?

Optimer det logiske design

Det logiske niveau handler om strukturen af ​​selve forespørgslen og tabellerne. Prøv at maksimere dette først. Målet er at få adgang til så få data som muligt på det logiske niveau.

  • Har de mest effektive SQL-forespørgsler
  • Design et logisk skema, der understøtter applikationens behov (f.eks. typen af ​​kolonner osv.)
  • Design afvejning for at understøtte nogle use case bedre end andre
  • Relationelle begrænsninger
  • Normalisering

Optimer det fysiske design

Det fysiske niveau omhandler ikke-logiske overvejelser, såsom type af indekser, parametre for tabellerne osv. Målet er at optimere IO'en, som altid er flaskehalsen. Indstil hvert bord, så det passer til dets behov. Lille tabel kan indlæses permanent indlæst i DBMS-cachen, tabel med lav skrivehastighed kan have andre indstillinger end tabel med høj opdateringshastighed for at tage mindre diskplads osv. Afhængigt af forespørgslerne kan forskellige indeks bruges osv. Du kan denormaliserede data transparent med materialiserede visninger osv.

  • Tabelparametre (allokeringsstørrelse osv.)
  • Indekser (kombineret, typer osv.)
  • Systemdækkende parametre (cachestørrelse osv.)
  • Partitionering
  • Denormalisering

Prøv først at forbedre det logiske design, derefter det fysiske design. (Grænsen mellem begge er dog vag, så vi kan skændes om min kategorisering).

Optimer vedligeholdelsen

Databasen skal drives korrekt for at forblive så effektiv som muligt. Dette inkluderer nogle få vedligeholdelsesforanstaltninger, der kan have indflydelse på ydeevnen, f.eks.

  • Hold statistik opdateret
  • Re-sekventér kritiske tabeller med jævne mellemrum
  • Diskvedligeholdelse
  • Alle systemting for at have en server, der rocker


  1. MySQL navngivningskonventioner, skal feltnavnet indeholde tabelnavnet?

  2. Fejlhåndtering med markør i SQL

  3. Datageneratorer til SQL server?

  4. Slet en Database Mail Profile (SSMS)