-
Total de itens
2 -
Registro em
-
Última visita
Posts postados por 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:
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.
Obrigada
Verificar se existe ao menos um registro em outro tabela
em MySQL
Postado
Muito obrigada Denis. De fato, diminuiu para a metade ou menos o tempo depois de eu ter criado os índices. Só não entendi uma coisa, toda vez que eu clico no link índice na coluna do phpmyadmin eu estou criando um índice para a coluna? E, por que aumenta o valor de "indice" no espaço ocupado da tabela?