Pourquoi mon programme H2 intégré écrit-il à A. mv.fichier db

j'ai suivi le guide quickstart sur le site Web de la base de données h2 pour créer une nouvelle base de données une table et insérer quelques données. L'application fonctionne en douceur et peut lire et écrire dans la base de données sans problèmes.

Démarrage rapide h2

  • ajouter le h2*.jar au classpath (H2 n'a pas de dépendances)
  • utilisez la classe de pilotes JDBC: org.h2.Pilote
  • L'URL de la base de données jdbc: H2:~ / test ouvre le test de la base de données dans votre utilisateur répertoire d'accueil
  • Une nouvelle base de données est automatiquement créé

maintenant je veux regarder les données avec la console web-frontend h2 mais chaque fois que j'essaie d'ouvrir ma base de données, cela crée juste une nouvelle base de données.



Après une longue recherche, j'ai remarqué que mon application Java, qui utilise la version H2 intégrée, écrit dans un fichier appelé ".mv.db " while the web-frontend creates the file ".h2.db" (ce qui fait beaucoup plus de sens pour moi)



Aussi quand mon application écrit à la base de données il utilise des quantités extrêmes d'espace (80MB pour ~600 valeurs entières)

Comment puis-je utiliser le ".h2.db " extension pour ma base de données intégrée?

35
demandé sur FelixZett 2014-05-22 16:11:35

2 réponses

cette option est maintenant activée automatiquement depuis la version 1.4.177 Beta (2014-04-12).

vous pouvez le désactiver en ajoutant ;MV_STORE=FALSE et ;MVCC=FALSE pour la base de données de l'URL

par défaut, L'option MV_STORE est activée, donc elle utilise la nouvelle Mvstore storage. Le paramètre MVCC est par défaut défini aux mêmes valeurs comme le paramètre MV_STORE, il est aussi activé par défaut. Pour testing, les deux paramètres peuvent être désactivés en ajoutant"; MV_STORE=FALSE" et/ou "; MVCC=FALSE " à L'URL de la base de données.

http://www.h2database.com/html/changelog.html

vous devriez nous dire, quelle version exacte de H2 vous utilisez.

44
répondu Daniel Ruf 2014-05-22 18:16:48

.mv.db - les fichiers sont pour le type de stockage Beta à venir "MVStore" pour H2.

Voici le http://www.h2database.com/html/changelog.html:

Nouvelle table du moteur", org.h2.mvstore.DB.Mvtablingengine " que sur le plan interne utilise le MVStore pour persister les données. Pour l'essayer, ajouter "; DEFAULT_TABLE_ENGINE=org.h2.mvstore.DB.Mvtablingengine" à la base de données d'URL. C'est encore très expérimental, et de nombreuses fonctionnalités sont pas pris en charge encore. Les données sont stockées dans un fichier avec le suffixe