olá!
Eu estou fazendo uma query bem simples utilizando o hibernate, entretanto no meu banco existem uns 10000 registros, está trazendo os registros de forma muito lenta. O que posso fazer para otimizar a busca? o campo que estou buscando já está indexado!!!
Voce tentou fazer a mesma busca na mão pra ver se demora também? A culpa as vezes não é do hibernate… voce tem certeza que trazer todos os dados do banco é o melhor pra aplicação?
Use a paginação do Hibernate e pesquise de 100 e 100 por exemplo, ninguém usa 10000 registros de uma vez em uma consulta:
Ex:
public List list(Class type,int firstResult,int maxResults){
return session.createCriteria(type).setFirstResult(firstResult).setMaxResults(maxResults).list();
}
eu não estou buscando 10000 registros de uma vez, eu disse que na tabela existem 10000 registros, aí eu estou fazendo uma query simples, por exemplo: select idProduto from Produto where outroCampo = “”
aí está demorando muito… o hibernate estava buscando 800 registros/min
fiz um teste usando ResultSet, normal… aí com a mesma query… buscou 20000 registros/min… um pouquinho mais rápido né… 
como faço para turbinar o hibernate para chegar próximo desse nível!!!
[quote=ThiagoWorldCoder]eu não estou buscando 10000 registros de uma vez, eu disse que na tabela existem 10000 registros, aí eu estou fazendo uma query simples, por exemplo: select idProduto from Produto where outroCampo = “”
aí está demorando muito… o hibernate estava buscando 800 registros/min
fiz um teste usando ResultSet, normal… aí com a mesma query… buscou 20000 registros/min… um pouquinho mais rápido né… 
como faço para turbinar o hibernate para chegar próximo desse nível!!![/quote]
estou xutando, posso estar falando bestera… mais esperimenta desligar os CACHE do hibernate ^^