<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">Il giorno 17 aprile 2015 14:52, Gianni Carabelli <span dir="ltr"><<a href="mailto:giannicarabelli@gmail.com" target="_blank">giannicarabelli@gmail.com</a>></span> ha scritto:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""> 04/17/2015 01:57 PM, Mpuppeteer wrote:<br>
> Comunque la query deve restituirmi la lista dell'ultimo messaggo di ogni<br>
> conversazione ( One to One ) di un utente<br>
<br>
<br>
</span>Il tuo created_in va a pari passo con l'autoincrement, quindi lo toglierei.<br>
<br>
Puoi inoltre prendere spunto da qualcosa di simile.<br>
Nei forum ci sono i post e i thread. Al pari dei tuoi messaggi e<br>
discussioni. Sempre di one to many parliamo.<br>
<br>
In vbulletin per esempio, all'interno del thread si memorizza il<br>
lastpostid proprio per ovviare al problema.<br>
<br>
Quindi potresti aggiungere un campo e tutto diventa più semplice:<br>
<br>
<br>
select * from post join<br>
(select lastpostid,t.threadid<br>
from post p<br>
join thread t on t.threadid = p.threadid<br>
where userid=2258662 ) a<br>
where a.lastpostid = post.postid;<br>
<br>
<br>
Che contiene ancora una subquery, quindi quella roba va a finire in<br>
memoria di mysql...."finchè buffersize regge".<br>
<br>
Oppure puoi scindere e fare due query..."finchè memory_limit regge"<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
JohnnyRun<br>
<br>
<br>
<br>
<br>
--<br>
Mailing list info: <a href="http://lists.linux.it/listinfo/gl-como" target="_blank">http://lists.linux.it/listinfo/gl-como</a><br>
</div></div></blockquote></div><br></div><div class="gmail_extra">Cavolo vero, a questo non ci avevo pensato... Bravo!!</div><div class="gmail_extra"><br></div><div class="gmail_extra">Grazie di nuovo dei consigli.</div></div>