Olá pessoal,
Estou fazendo alguns testes com o hibernate. Executei o código abaixo e verifiquei uma diferença de tempo entre as duas consultas. Alguém sabe me explicar porque a query parametrizada é mais lenta?
// Inicio da execução do programa 18:22:50,630
String cpf = "11122233344"
String PESSOA_FISICA = "select nome from pessoas where cpf = '?1' " ;
String sql = PESSOA_FISICA.replace("?1", cpf);
Query query = entityManager.createNativeQuery(sql);
query.getResultList();
// Após executar a primeira query 18:22:50,646 (16 milisegundos)
String PESSOA_FISICA2 = "select nome from pessoas cpf = ?1 ";
Query query2 = entityManager.createNativeQuery(PESSOA_FISICA2);
query2.setParameter(1, cpf);
query2.getResultList();
// Após executar a segunda query 18:22:50,865 (219 milisegundos)
Grato