Visa ett inlägg
Oläst 2005-11-18, 23:03 #12
kullervos avatar
kullervo kullervo är inte uppkopplad
Bara ett inlägg till!
 
Reg.datum: Dec 2003
Inlägg: 1 519
kullervo kullervo är inte uppkopplad
Bara ett inlägg till!
kullervos avatar
 
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.
kullervo är inte uppkopplad   Svara med citatSvara med citat