Good 4 Denunciar post Postado Setembro 4, 2014 Este meu código está demorando cerca de 3seg pra ser executado: SELECT *, (SELECT COUNT(*) FROM visualizacoes v WHERE c.id = v.nid AND v.data > '2014-09-03' LIMIT 5) AS total FROM conteudo c WHERE (SELECT COUNT(*) FROM visualizacoes v WHERE c.id = v.nid AND v.data > '2014-09-03' LIMIT 5) > 0 ORDER BY total DESC LIMIT 5 O "AS total" está retornando uma quantidade maior do que 5 e está causando lentidão no site. Pq não limita a 5? E qual pode ser a solução? Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 4, 2014 SELECT *, (SELECT COUNT(*) FROM visualizacoes v WHERE c.id = v.nid AND v.data > '2014-09-03' LIMIT 5) AS total FROM conteudo c WHERE (SELECT COUNT(*) FROM visualizacoes v WHERE c.id = v.nid AND v.data > '2014-09-03' LIMIT 5) > 0 ORDER BY total DESC LIMIT 5 Primeiro idente pois se entende melhor. Segundo o que este sql deveria retornar !? Terceiro as tabelas tem índices !? Compartilhar este post Link para o post Compartilhar em outros sites
Good 4 Denunciar post Postado Setembro 4, 2014 Desculpe, mas não vi diferença entre o meu e o seu :S ############################ Mostrando registos 0 - 4 ( 5 total, O Query demorou 2.9922 sec) está demorando mto pra ser executado.. Tipo, é um sistema de notícias.. e tem uma tabela visualizações, e aí eu pego as notícias com mais visualizações hoje, durante a semana, durante o mês e desde sempre. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Setembro 5, 2014 Só identei sua query para tentar entender o que elz faz. As tabelas tem índices ?! A tabela conteudo tem alguma relação com visualizacoes !? Compartilhar este post Link para o post Compartilhar em outros sites
lokaodomau 61 Denunciar post Postado Setembro 5, 2014 Pelo que eu entendi, quer que o resultado seja este: SELECT c.*, COUNT(v.id) qtd_visualizacoes FROM conteudo c INNER JOIN visualizacoes v ON c.id = v.nid WHERE v.data > '2014-09-03' ORDER BY qtd_visualizacoes DESC LIMIT 5 Compartilhar este post Link para o post Compartilhar em outros sites