Hvordan øke hastigheten på spørringer på Extremely Large MySQL tabeller

Hvordan øke hastigheten på spørringer på Extremely Large MySQL tabeller


MySQL er en database program fritt distribuert for nettsteder. Som en tabell i en database vokser, kan noen av spørringene skade ytelsen på nettstedet. Av denne grunn er det viktig å finpusse databasespørringer for best mulig ytelse. Det finnes noen måter å forbedre ytelsen for MySQL spørringer. Disse tweaks inkluderer endringer til MySQL tabeller og spørringen uttalelser. Slike tilpasninger kan øke ytelsen med flere sekunder eller minutter.

Bruksanvisning

1 Lag en indeks på bordet brukes i MySQL spørring. En indeks hjelper database sortere kolonner som en prioritet. Indekser kan øke hastigheten på søkene etter flere minutter. For å lage en indeks på bordet ditt, kan du bruke følgende syntaks:
lage indeks <index_name>
på <tabellnavn> <kolonne> "
Erstatt "<index_name>" med et unikt navn av ditt valg. Tabellen og kolonnenavn er tabellen og kolonnen du er spørring fra MySQL-koden.

2 Redesign din tabell-spørring for å søke på tabellfeltene som er indeksert. For eksempel, hvis du har en indeks på "Kunde", en spørring bør bli forskjøvet fra:
Velg customer_name fra kunden hvor last_name = 'joe'
til en spørring som bruker CustomerId felt som:
Velg customer_name fra kunden hvor CustomerId = 1

3 Bruk tiltrer snarere enn subselect uttalelser. Bli med i en tabell er raskere enn en subselect uttalelse. Videre sammenføyninger bør gjøres på tabellfeltene som har indekser. Et eksempel på subselect er nedenfor:
Velg customer_name fra kunden hvor
first_name = (velg first_name fra orden der order.customerid = customer.customerid)

Du kan endre dette søket til å omfatte et delta ved hjelp av følgende kode:
Velg customer_name fra kunde
bli orden på customer.customerid = order.orderid
hvor first_name = 'Joe'

4 Arkivere gamle poster til en egen tabell. Hvis du har noen veldig gamle data i tabellene, kan du eksportere dem til andre tabeller eller sikkerhetskopierte filer. Koden for å utføre denne prosessen er bestemt av tabellbegrensninger for databasen. Imidlertid er et eksempel spørring for å eksportere data under:
Sett inn archive_table
select * fra kunden hvor create_date <1.1.2009 '