Hvordan å optimalisere mysql

MySQL er en databasemotor som ligner på PostgreSQL, Oracle eller MS SQL server i at det tillater deg å lage tabeller og lagre data.

For mange dynamiske nettsider MySQL er en forutsetning for drift - og er en stor flaskehals potensial dersom søknaden og serveren ikke er riktig konfigurert

Bruksanvisning

1 Kjør optimalisere bord mot tabellene
Denne kommandoen defragmenterer en tabell etter at du har slettet en rekke rader fra den.

2 Bruk innsats forsinket når du ikke trenger øyeblikkelig tilfredsstillelse - et svar umiddelbart - når data skrives. Dette reduserer den totale innsetting innvirkning fordi mange rader kan skrives med en enkelt disk skrive.

3 bruke statement prioriteringer

* Use INSERT LOW_PRIORITY when you want to give SELECT statements higher priority than your inserts.

* Bruk SELECT HIGH_PRIORITY å få hentinger som snike i køen. Det vil si at SELECT utføres, selv om det er en annen klient venter.

4 Bruk fler rad INSERT-setninger for å lagre mange rader med en SQL-setning.

5 Ikke bruk komplekse tillatelser. Jo mer kompleks tillatelsene oppsett, jo mer overhead du har. Prøv å bruke enkle GRANT uttalelser å redusere overhead ser opp og bruke tillatelser vil føre til.

6 Når du analyserer søket ytelse, er det også nyttig å vurdere FORKLARE søkeord. Dette søkeordet, når den plasseres foran en SELECT spørring, beskriver hvordan MySQL har til hensikt å utføre spørringen og antall rader det må behandle for å kunne levere et resultatsett.

Eksempel på bruk: forklare velge * fra tabellen

7 Prøv å optimalisere hvor klausul

Fjern unødvendig parentheseswhen med "count (*)" på ikke MyISAM databaser må du ha indekser presentmake dine hvor klausuler så spesifikk som mulig

8 Bruk avskriftene
MySQL kan du indeksere databasetabeller, noe som gjør det mulig å raskt søke å poster uten å utføre en full tabellskanning først og dermed vesentlig påskynde spørringen kjøres. Du kan ha opptil 16 indekser per bord, og MySQL støtter også multi-kolonne indekser og fulltekstsøkeindekser.

Legge til en indeks i en tabell er like enkelt som å ringe CREATE INDEX kommando og angi feltet (e) til indeksen.

9 Juster interne server variabler som key_buffer, read_buffer_size, table_cache, query_cache_size, query_cache_type, query_cache_limit og long_query_time kan gå en lang vei. Det er ingen "riktig svar" for disse verdiene, så du trenger for å leke seg med dem. de vil være annerledes på hver server.

Hint

  • Denne variabelen styrer størrelsen på bufferen brukes ved håndtering av tabellindekser (både lese og skriveoperasjoner). MySQL manualen anbefaler at denne variabelen økes "til så mye som du har råd" for å sikre at du får best mulig ytelse på indekserte tabeller, og anbefaler en verdi som tilsvarer om lag 25 prosent av den totale systemminnet. Dette er en av de viktigste MySQL konfigurasjonsvariabler, og hvis du er interessert i å optimalisere og forbedre ytelsen
  • Når du øker max_connections sørg for å også øke den maksimale ledige bord, ellers kan du bli slik at flere folk til å koble til og spørring deretter tabeller kan tillate, og dermed bremse dine responstid.