Les problèmes de performances à l'aide de H2 DB en mode imbriqué avec la lourde charge de données dans la base de données

Je suis en train de travailler d'une application java à l'aide de la Base de données H2 en mode incorporé.
Mon Application consomme 150 mo de mémoire dans la mémoire.

Problème:
Étapes
Lorsque je charge H2 base de données avec 2 mo de données, base de données, l'accès est rapide et tas de la taille de la mémoire de 160 mo.

Mais Lorsque je charge H2 base de données avec 30 mo de données(h2 db taille du fichier =30 mo). Ensuite l'accès à la base de données à partir de mon application est très lente. la raison d'être de ma demande taille du tas est extrêmement cultivé à 300 mo de taille donc une dégradation des performances. J'ai confirmé à l'aide de JConsole.

Si ma compréhension est depuis H2 base de données est développée en java et depuis que je suis à l'aide de la base de données H2 en mode imbriqué, la taille du tas de H2 Base de données est ajouté à ma demande qui est la rupture de l'application.

Le problème est que H2 taille de base de données est cultivé, les performances de mon application est dégradée.

Comment résoudre le problème?

J'ai donné le lien que

 rurl = "jdbc:h2:file:/" + getDBPath() + dbname + ";CACHE_SIZE=" + (1024 * 1024) + ";PAGE_SIZE=512";

pour augmenter le cache de H2.

La taille de la mémoire cache d'un persistants, incorporé H2 base de données est de 16 MO par défaut. Utilisez-vous une base de données en mémoire ou d'une augmentation du paramètre de cache? Êtes-vous sûr que les performances se dégradent en raison de tas utilisation de la mémoire (parce que c'est très rare), et n'vérifier si le problème est (par exemple jps -l / jstack -l <pid>)?
Vous avez utilisé non de la taille du cache et de la taille de la page - quelles sont les raisons de ne pas utiliser les paramètres par défaut?
Avez-vous trouvé une solution pour cela? Je suis en train de vivre le même problème. Petite base de données est bien, si je insérez un grand nombre de données dans un tableau toutes les requêtes de commencer à prendre beaucoup plus de temps.

OriginalL'auteur Harish Alwala | 2012-03-21