2008-10-14 7 views
6

J'ai une application Java configurée en tant que service pour extraire des données contre ~ 3 Go de données toutes les quelques heures. Je voudrais que cela se produise à 100% en mémoire. Idéalement, je veux que l'application soit isolée de tout; Je veux qu'il construise la base de données, fasse l'extraction dont j'ai besoin et démonte la base de données quand c'est fait.Base de données HSQL 100% en mémoire

Cependant, avec HSQLDB, même lorsque j'utilise la commande "create memory table ....", un journal est écrit de toutes les instructions et la table est recréée la prochaine fois que l'application s'exécute. Je fais beaucoup d'insertions, ~ 150k +, donc ce fichier grossira rapidement. Je ne me soucie pas non plus de reconstruire la base de données lors de la prochaine exécution, donc la journalisation est inutile pour moi.

Je pourrais juste supprimer le dossier quand j'ai fini, mais si possible je voudrais éviter d'avoir à écrire autant sur le disque.

Existe-t-il un moyen de désactiver cette fonctionnalité?

Merci d'avance!

+0

De quel journal parlez-vous? – abarax

+0

et utilisez-vous Hibernate pour créer les tables? ou JDBC? – abarax

Répondre

7

Pas de problème, il suffit d'ouvrir la connexion de base de données ainsi:

Connection c = DriverManager.getConnection("jdbc:hsqldb:mem:aname", "sa", ""); 

Pour plus d'informations, reportez-vous à la HSQL docs.

Questions connexes