Hibernate e consulta lenta

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é… :slight_smile:

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é… :slight_smile:

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 ^^