Select vs forEach

1 resposta
bancojava
Satangozo

Desculpe se a pergunta é idiota, mas alguém sabe me dizer qual é o mais rápido? ou quando um é mais rápido que o outro?

1 - Filtrando pela Query no banco de dados:

SELECT p FROM Pessoas WHERE p.idade > 15;

2 - Filtrando pela lista:

List<Pessoa> lista = PessoaDAO.getLista();
List<Pessoa> listaFiltrada = new ArrayList<>();
for (Pessoa p : lista){
   if (p.idade > 15){
      listaFiltrada.add(p);
   }
}

1 Resposta

Dragoon

O dado vindo do banco é mais rápido!

Porque: se você trouxer todos os dados para depois comparar é um esforço desnecessário e o desempenho só tende a aumentar e piorar! porque os registro aumentam! e no filtro da SQL só traz o que precisa.

Criado 13 de abril de 2017
Ultima resposta 13 de abr. de 2017
Respostas 1
Participantes 2