Prestandaoptimering
Design av databasindex
Index är det arbete i databasen som ger störst effekt: rätt sammansatt index gör rapport som tar minuter till millisekunder, medan fel index bara belastar varje skrivning. Professionell indexdesign utgår från verkliga frågemönster, följer regeln om vänsterled och gallrar lika hårt som den lägger till.
Nyckelpunkter
- Utforma utifrån loggen över långsamma frågor och förteckningen över frågor i programmet, inte gissningar.
- Bygg sammansatta index som följer vänsterledsregeln och ordningen efter selektivitet.
- Föredra täckande index för de mest lästa flödena.
- Ta bort dubbletter, överflödiga och oanvända index varje kvartal.
- Räkna med att varje skrivning blir dyrare, eftersom varje index belastar INSERT, UPDATE och DELETE.
- Använd prefix- och delindex där fullständiga index slösar plats.
- Validera med EXPLAIN före och efter, planen måste bevisa vinsten.
- Dokumentera varför indexen finns, så att framtida utvecklare inte tar bort bärande index.
Vanliga frågor
Fler index betyder snabbare, stämmer det?
Nej, läsningarna vinner och skrivningarna betalar. Konsten är den minsta uppsättning som täcker kritiska flöden.
Hur hittar man oanvända index?
Med statistik över hela affärscykler och sedan borttagning i etapper med möjlighet att återgå.
Vad går sönder oftast?
Enkla index på villkorssatser med flera kolumner, och saknade index där datan plötsligt växer.
Ändrar ramverkslagret något?
De döljer frågorna men inte kostnaderna, och vi spårar frågorna tillbaka till samma analys.
Så hjälper Kinetikatech dig med prestandaoptimering
Du ska inte behöva bli expert på prestandaoptimering: Serverinställning, databasoptimering, cache och arbete med hastigheten i gränssnittet som kortar laddtider och sänker värdkostnader. Det är precis vad Hastighetsoptimering av webbplatser och Serverhantering finns till för, installation, härdning, övervakning och en människa på jour dygnet runt.