ho questa query abbastanza complessa che vorrei velocizzare, qui si parla di 9/10 secondi di tempo , il server è dedicato e la RAM spesso è usata al 20/30%.
vorrei valutare alcune strade:
1) mi conviene creare qualche indice ulteriore per velocizzarla?
2) Devo aumentare la memoria dedicata alle funzioni JOIN sul my.cnf?
3) Devo utilizzare il motore Innodb al posto del myisam?
Codice PHP:
SELECT DISTINCT members.username, files.bigimage, members_online.logid AS onlinenow, members_network.date, members_network.id, members.id AS uid, members_network.to_uid, members_network.uid AS myid, members_network.comments, members_network.approved,
files.type, files.approved AS fileapprove, files.aid, album.cat, album.allow_a, album.allow_n, album.allow_h, album.allow_f
FROM members_network
LEFT JOIN members ON ( members.id = members_network.to_uid OR members.id = members_network.uid )
LEFT JOIN members_online ON ( members_online.logid = members.id )
LEFT JOIN files ON ( files.uid = members.id)
LEFT JOIN album ON ( album.aid = files.aid )
WHERE (members_network.uid='8183' OR members_network.to_uid='8183') AND members.username != ( 'zeus75' ) AND members_network.type= ( '2' ) AND members_network.approved='yes' GROUP BY members.id ORDER BY members.lastlogin LIMIT 6;