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

Come migliorare le prestazioni delle query con order by, group by e join

Dato che la query è già abbastanza semplice, le opzioni che cercherei sono ...

  • Piano di esecuzione (per trovare eventuali indici mancanti che potresti aggiungere)
  • Memorizza nella cache (per garantire che SQL abbia già tutti i dati nella ram)
  • denormalizzazione (per trasformare la query in flat select)
  • Memorizza nella cache i dati nell'applicazione (quindi potresti usare qualcosa come PLINQ su di essa)
  • Utilizza un negozio basato su ram (redis, elastico)
  • Regolazioni del gruppo di file (sposta fisicamente il db su dischi più veloci)
  • Separa le tue tabelle (per distribuire i dati grezzi su più dischi fisici)

Più scorri in basso in questo elenco, più le soluzioni diventano coinvolte. Immagino dipenda dalla velocità con cui hai bisogno della query e da quanto hai bisogno di scalare la tua soluzione.