 |
Bara ett inlägg till!
|
|
Reg.datum: Dec 2003
Inlägg: 1 519
|
|
Bara ett inlägg till!
Reg.datum: Dec 2003
Inlägg: 1 519
|
Plocka ut eller logga ett gäng typiska SELECT-frågor för sajten och kör dem sedan med EXPLAIN framför (dev.mysql.com/doc/refman/4.1/en/explain.html). Optimera sedan index, databasstruktur och SQL-frågor tills EXPLAIN ger er en stjärna i kanten.
Om ni kodat lika illa som jag befarar skulle det inte förvåna mig om ni minskar lasten på MySQL med 10-100 gånger efter optimering. Glömmer man ett index här och ett där blir det plötsligt segt som tusan. Var extra noga när ni kör subqueries med MySQL 4.1! I vissa fall rusar exekveringstiden i höjden utan anledning. Då går det ofta fortare att skita i subqueries och låta klienten hantera det istället.
Alla SELECT-frågor jag skriver som åtminstonde är hyffsat komplexa, kör jag EXPLAIN på samt testar exekveringstid på en gammal skruttburk. Det är inte jobbigt samtidigt som det är lärorikt och kan ge massor i prestandavinst.
Edit: Ett annat tips är att alltid ha en exekveringstidsräknare synlig på sajten för admins. Om sirap har smygit sig in i koden så hittar man det tidigare. På mitt skötebarn ser jag alltid exekveringstid, antal SQL-frågor som gjordes samt hur stor andel av tiden SQL-frågorna drog.
|