mboost-dp1

MySQL automatiske indexes


Gå til bund
Gravatar #1 - Brugernavn
21. sep. 2011 11:00
Hey

Jeg har overtaget et større system, med mange SQL kald og knapt så mange indexes. Min vurdering, er at der er rigtigt meget at hente ved at få oprettet de rigtige indexes (dem, der kan betale sig at bruge tid på.)

Det vil tage mig et utal af timer at gennemgå alt, så derfor vil jeg lige høre jer Newz'ere, om I kender et værktøj, der kan foreslå indexes eller måske selv oprette dem udfra de kald, der sendes til basen?

Basen er MySQL 5.1 64 bit.

På forhånd tak!
Gravatar #2 - Brugernavn
22. sep. 2011 19:25
Jeg har droppet projektet og går i stedet igang med at køre en masse EXPLAINs.
Gravatar #3 - arne_v
22. sep. 2011 19:37
#1-2

Følgende burde bringe dig et godt stykke vej:
- find alle SELECT statements
- lav en liste med alle felter fra joins
- tilføj alle felter som bruges i where betingelser
- fjern alle primary keys
- fjern alle felter som allerede har index
Gravatar #4 - Brugernavn
22. sep. 2011 20:21
Mange tak. Det var den procedure, jeg havde tænkt mig at følge. Jeg ville bare helst undgå at lave for mange indexes for små tabeller, og der er RIGTIGT mange SQL statements fordelt på command strings, stored procedures etc. Hundreder.

Jeg kan forestille mig at det ville være muligt at lave et værktøj, som jeg nævnte i indlæg et, og derfor gættede jeg på at nogen havde lavet et. Det ville også være smart, hvis databasen selv kunne tilpasse sig.
Men jeg har ikke kunnet finde det.
Gå til top

Opret dig som bruger i dag

Det er gratis, og du binder dig ikke til noget.

Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.

Opret Bruger Login