Tout d'abord, si je ne m'abuse, HSQLDB n'est pas vraiment un DBMS, n'est-ce pas?
Je veux dire.. des fichiers XML comme base de données.. c'est bien celui là meme?
J'avais une question à propos de problemes de performances auxquels je fais
face aussi, et je me permet de repondre, lire piggy-back, a ce msg sous
pretexte qu'il m'a permis de savoir comment qu'on dit 'rows' en français :)
===================================
Voilà, est-ce que tu aurais un (ou plusieurs) index sur les colonnes que tu
utilises comme criteres dans tes requetes? Cela pourrait aider..
===================================
Ce qui nous amene a ma question a moi:
Je remarquai que notre logiciel menait sql server a utiliser une quantité de memoire exorbitante.
Meme observation quand j'executai la requete sur Enterprise Manager et Query Analyzer.
Quelque 2mins avant que les resultats ne soient retournés, et ne contenant, correctement, aucun enregistrement.
Il s'avère que c'était une table de >800,000 enregistrements.
Je m'empressai d'y ajouter un index ou deux. Et Enterprise Manager, de meme que Query Analyzer, me retournait
alors les resultats en un rien de temps.
Toutefois, j'étais surpris de ne pas observer d'amélioration en ce qui concerne Hibernate..
Notre logiciel continue à pousser sql server à utiliser bien plus de mémoire que Q.A et E.M avaient requis une fois
l'index créé.
Le programme est on ne peut plus simple:
------------------------------------------------------------------------
String sqlParentJobs = "select e from TbEmail e where Status=:status";
try
{
_session = HibernateUtil.currentSession();
log.debug("Creating stmtSelect Criteria");
Query q = _session.createQuery(sqlParentJobs);
q.setParameter("status", new Integer(1));
c = q.setMaxResults(maxResults).list();
}
------------------------------------------------------------------------
Est-ce que quelqu'un serait en mesure de m'indiquer d'ou le probleme pourrait venir?
Je ne suis pas à utiliser de 'second-level cache' ou rien. Merci bien.
Rico.
|