Eu procurei por essa questão em todo lugar e não encontrei nenhuma solução. Gostaria de saber se alguém poderia me ajudar:
Eu tenho duas tabelas, uma USUARIOS, e outra ATIVIDADES que relaciona todas as atividades dos usuários num site
Gostaria de selecionar os usuários que possuem ao menos um ou mais registros em ATIVIDADES. Eu tentei o seguinte forma e funcionou:
SELECT usuarios.* FROM usuarios INNER JOIN atividades ON usuarios.usuario = atividades.usuario GROUP BY usuarios.usuario ORDER BY usuarios.nome ASC
No entanto, a tabela ATIVIDADES é enorme (acho que mais de 500000 registros) enquanto que a tabela USUARIOS possui cerca de 300 registros e o mysql leva muito tempo para fazer todos esses cruzamentos (no meu caso, uns 7 segundos pelo phpmyadmin contabilizado no servidor) muito mais do que os poucos milésimos de segundo para selecionar todos os usuários.
Por fim, a questão é: existe alguma forma de fazer um SELECT somente dos usuários com pelo menos uma atividade sem percorrer toda tabela ATIVIDADES e diminuir o tempo de procura.
Pergunta
larissaswo
Boa noite, pessoal
Eu procurei por essa questão em todo lugar e não encontrei nenhuma solução. Gostaria de saber se alguém poderia me ajudar:
Eu tenho duas tabelas, uma USUARIOS, e outra ATIVIDADES que relaciona todas as atividades dos usuários num site
Gostaria de selecionar os usuários que possuem ao menos um ou mais registros em ATIVIDADES. Eu tentei o seguinte forma e funcionou:
No entanto, a tabela ATIVIDADES é enorme (acho que mais de 500000 registros) enquanto que a tabela USUARIOS possui cerca de 300 registros e o mysql leva muito tempo para fazer todos esses cruzamentos (no meu caso, uns 7 segundos pelo phpmyadmin contabilizado no servidor) muito mais do que os poucos milésimos de segundo para selecionar todos os usuários.
Por fim, a questão é: existe alguma forma de fazer um SELECT somente dos usuários com pelo menos uma atividade sem percorrer toda tabela ATIVIDADES e diminuir o tempo de procura.
Obrigada
Editado por larissaswoLink para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.