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

MySQL-forespørgsel smertefuldt langsom på store data

Optimer tabel

For at etablere en baseline vil jeg først anbefale at køre en OPTIMIZE TABLE kommando på begge borde. Bemærk venligst, at dette kan tage noget tid. Fra dokumenterne :

Indeksering

Hvis plads- og indeksstyring ikke er et problem, kan du prøve at tilføje en sammensat indeks

product_categories.cat4, product_categories.cat3, product_categories.cat2, product_categories.cat1

Dette vil være tilrådeligt, hvis du ofte bruger en undergruppe længst til venstre af disse kolonner i dine forespørgsler. Forespørgselsplanen angiver, at den kan bruge cat1 indeks over product_categories . Dette inkluderer højst sandsynligt kun cat1 kolonne. Ved at tilføje alle fire kategorikolonner til et indeks kan den mere effektivt søge til den ønskede række. Fra dokumenterne :

Struktur

Desuden, givet at din tabel har 90 kolonner du skal også være opmærksom på, at en bredere tabel kan føre til langsommere forespørgselsydeevne . Du vil måske overveje Lodret partitionering din tabel i flere tabeller:



  1. Erlang mysql eksempel

  2. Migrering af en Oracle-database fra AWS EC2 til AWS RDS, del 2

  3. MySQL LOAD DATA INFIL med PÅ DUBLIKAT NØGLEOPDATERING

  4. Beregn alder med decimaler fra fødselsdato