sql >> Database teknologi >  >> RDS >> Mysql

Hvornår opdaterer MySQL indekserne

Indeksopdateringer er dobbelte.

Den første del er indsættelse/opdatering/sletning af posten i/fra indekset. Indekset bliver opdateret, så snart en post ændres, og denne proces blokerer forespørgslen, indtil den er færdig.

Dette muliggør hurtigere hentning af poster baseret på en betingelse i en indekseret kolonne, det mest velforståede formål med et indeks.

Den anden del er opdatering af statistik over indekset. Dette giver optimeringsværktøjet mulighed for at afgøre, om det for en given forespørgsel overhovedet er værd at bruge indekset. Forestil dig en forespørgsel som SELECT * FROM users WHERE disabled =0 . Antag, at de fleste brugere faktisk er aktive. Hvis indeksstatistikken er opdateret, vil optimeringsværktøjet indse, at de fleste poster fra tabellen vil blive returneret af forespørgslen, tabellen skal næsten udelukkende scannes. Det vil sandsynligvis beslutte ikke at bruge indekset og scanne tabellen med det samme.

Denne opdatering finder ikke sted automatisk undtagen i meget specifikke situationer . Disse statistikker bør opdateres manuelt regelmæssigt med en kode>ANALYSER TABEL [tabelnavn]



  1. Fjern grænsesætningen fra MySQL Workbench

  2. Kørsel/start af MySQL uden installation på Windows

  3. Sådan gendannes mysql root-adgangskode i MacOS

  4. Sådan fjerner du dublerede rækker i SQL