Salve a tutti,
è da qualche gg che sto combattendo con un db mysql per ottimizzarlo al massimo ... qualche cosina sono riuscito a sistemare, ma il buon traffico del mio sito "purtroppo" sembra troppo per il mysql, che spesso, va in saturazione mangiando risorse e CPU della macchina.
Tra tutte le query, sono riuscito ad inviduare quella in assoluto piu pesante, e per mia sorpresa, non è altro che una semplice select.
Questo è il quadro della mia situazione:
Il mio è un sito di community, e la query incriminata è in una pagina in cui non faccio altro che mostrare tutti gli utenti iscritti, con paginazione suddivisa per 10 record alla volta: ovvero questa: http://www.puntochat.it/amici/
La query di quella pagina non è altro che:
SELECT uid, nick, citta, descrizione, attivazione,foto FROM $tbl WHERE attivazione = '1' AND modificato != '-1' ORDER BY foto DESC, uid DESC LIMIT 0,13 ";
Gli indici creati per quella tabella sono i seguenti
PRIMARY PRIMARY 19003 uid
sesso INDEX 3 sesso
citta INDEX 121 citta
foto INDEX 3 foto
attivazione INDEX 3 attivazione
modificato INDEX 3 modificato
Il mysql che uso è un pò vecchiotto MySQL 4.0.18.
Considerando che questa pagina mi mangia un buon 35% del totale delle risorse (un'enormità) e che le query al sec. si aggirano sulle 90-150 ...
cosa posso fare per ottimizzare al meglio questa query?
C'è qualche accorgimento che non ho preso o qualche errore fatto che mi fa pesare cosi tanto il tutto?
Pensavo di installare l'mmcache ma, avendolo su altri siti, alla fine non mi farebbe fare quel salto di cui necessito.... e cmq ho paura che ci sia qualche errore nella struttura del db che ho fatto io. Boh![]()
Qualcuno sa darmi qualche dritta?
Grazie![]()