[gl-como] Chat system
Gianni Carabelli
giannicarabelli@gmail.com
Ven 17 Apr 2015 12:13:52 CEST
On 04/17/2015 11:56 AM, Mpuppeteer wrote:
> SELECT *
> FROM chat
> WHERE ( (id_user = 1) OR (id_user_to = 1) )
> AND created_at in (
> SELECT MAX(created_at)
> FROM chat
> WHERE id_chatconv in (
> SELECT id_chatconv
> FROM userchat WHERE id_user = 1
> )
> GROUP BY id_chatconv
> )
> ORDER BY (created_at) DESC;
Stai usando 2 "IN" che di solito sono il male.
L'é il gran visir di tuci i terun!!
https://wikis.oracle.com/pages/viewpage.action?pageId=27263381
Senza indici e quando il traffico sarà alto, sarà un problema.
Magari il traffico non l'avrai mai.. ma io molto spesso ho visto
dbserver andare KO per qualche query cannata.
SELECT *
FROM chat c
JOIN userchat ON u.id_chatconv = c.id_chatconv
WHERE ( (id_user = 1) OR (id_user_to = 1) )
AND created_at = [boh.. questa parte non l'ho capita]
e aggiungere gli indici.
Oppure metti una query in più.
Non è detto che con una query in più vai più piano.
Ciao
JohnnyRun
Maggiori informazioni sulla lista
gl-como