CREATE TEMPORARY TABLE locais(
`local` VARCHAR(255) PRIMARY KEY
);
CREATE TEMPORARY TABLE ids(
`id` VARCHAR(255) PRIMARY KEY
);
CREATE TEMPORARY TABLE contagem(
`id` INT PRIMARY KEY AUTO_INCREMENT,
`local` VARCHAR(255) NOT NULL,
`localid` INT NULL,
`count` BIGINT NOT NULL
);
INSERT INTO locais SELECT DISTINCT(`local`) FROM comentarios WHERE userid=1;
INSERT INTO ids SELECT DISTINCT(`localid`) FROM comentarios WHERE userid=1;
INSERT INTO contagem(local,localid) SELECT locais.local, ids.id FROM locais,ids,comentarios WHERE comentarios.local=locais.local AND comentarios.localid=ids.id;
UPDATE contagem SET contagem.`count`=
(SELECT COUNT(*) FROM comentarios WHERE comentarios.local=contagem.local AND comentarios.localid=contagem.localid AND comentarios.userid=1);
SELECT `local`,localid,MAX(contagem.`count`) FROM contagem GROUP BY `count` ORDER BY `count` DESC LIMIT 1 ;
Deixei o userid=1 como exemplo...
Isto ficou pesado... o que eu posso fazer pra ficar melhorar o desempenho? :unsure:
Pergunta
jose.rob.jr
Deixei o userid=1 como exemplo...
Isto ficou pesado... o que eu posso fazer pra ficar melhorar o desempenho? :unsure:
Editado por jose.rob.jrLink para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados