bichopapo 0 Denunciar post Postado Dezembro 6, 2014 Olá pessoal, Estou trabalhando em um código que as vezes gera muita consulta ao banco de dados. Então surgiu uma dúvida, o que é mais rápido e melhor para o código? 1. Fazer uma consulta no banco, pegando todos os valores que preciso, colocar esses valores em um array e depois mostrar os valores chamando esse array 2. Toda vez que precisar de um valor específico, buscar direto no banco de dados Vou tentar explicar um pouco mais Aluno **** Nota **** Falta José ***** 50 **** 3 Maria ***** 50 **** 4 Robert **** 35 ***** 1 Marta **** 45 **** 0 Vamos lá então A tabela nota é uma e a tabela faltas é outra Nesse caso o que é melhor? 1. uma unica consulta usando join e todas as tabelas, depois colocar me um array e mostrar os valores 1. consulto tabela aluno e coloco em um array. Consulto tabela nota e coloco em um array usando o codigo do aluno como indice. consulto tabela notas e coloco em um array também usando o código do aluno como índice. Depois mostro os alunos e atraves do codigo do aluno mostro o array nota e o array faltas. 2. uma consulta na tabela alunos e depois, a cada linha uma consulta na tabela notas, usando o where pelo código do aluno e também uma consulta na tabela faltas, usando também where. 3. consultar aluno e nota com um join, e depois, a cada linha uma consulta na tabela faltas usando o where pelo código do aluno Compartilhar este post Link para o post Compartilhar em outros sites
William Bruno 1501 Denunciar post Postado Dezembro 8, 2014 Vc pode tirar essa conclusão medindo o tempo que cada uma dessas alternativas leva para completar o trabalho. Eu apostaria no JOIN como opção mais limpa e rápida. Compartilhar este post Link para o post Compartilhar em outros sites
Motta 645 Denunciar post Postado Dezembro 8, 2014 Primeiro passa pelo tamanho das tabelas no BD se estas tem índices e se as estatísticas estão atualizadas. Mas a trabalheira de juntar estes dados em memória não compensa um eventual ganho , JOIN existe e está testado, ao menos na minha modesta opinião. Compartilhar este post Link para o post Compartilhar em outros sites