Подтвердить что ты не робот

Почему моя встроенная программа h2 записывает в файл .mv.db

Я выполнил руководство по быстрому старту на веб-сайте базы данных h2, чтобы создать новую базу данных и вставить некоторые данные. Приложение работает бесперебойно и может без проблем читать и записывать в базу данных.

Быстрый старт h2

  • Добавьте h2 *.jar в путь к классам (у H2 нет зависимостей)
  • Используйте класс драйвера JDBC: org.h2.Driver
  • URL-адрес базы данных jdbc: h2: ~/test открывает тест базы данных в домашнем каталоге пользователя
  • Новая база данных автоматически создается

Теперь я хочу посмотреть данные с помощью консоли web-frontend h2, но каждый раз, когда я пытаюсь открыть свою базу данных, она просто создает новую базу данных. После долгого поиска я заметил, что мое Java-приложение, которое использует встроенную версию h2, записывает в файл под названием ".mv.db", в то время как веб-интерфейс создает файл ".h2.db" (что имеет гораздо большее значение для меня)

Также, когда мое приложение записывается в базу данных, оно использует экстремальные объемы пространства (80 МБ для ~ 600 целых значений)
Как я могу использовать расширение ".h2.db" для встроенной базы данных?

4b9b3361

Ответ 1

Теперь это автоматически включается с версии 1.4.177 Beta (2014-04-12).

Вы можете отключить его, добавив ;MV_STORE=FALSE и ;MVCC=FALSE в URL-адрес базы данных

По умолчанию параметр MV_STORE включен, поэтому он использует новый Хранилище MVStore. По умолчанию параметр MVCC установлен на те же значения как параметр MV_STORE, поэтому он также включен по умолчанию. Для тестирование, обе настройки можно отключить, добавив "; MV_STORE = FALSE" и/или "; MVCC = FALSE" в URL-адрес базы данных.

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

Вы должны сказать нам, какую именно версию H2 вы используете.

Ответ 2

.mv.db файлы предназначены для следующего типа бета-хранилища "MVStore" для H2.

Вот из http://www.h2database.com/html/changelog.html:

Новый движок таблицы "org.h2.mvstore.db.MVTableEngine", который внутренне использует MVStore для сохранения данных. Чтобы попробовать, добавьте "; DEFAULT_TABLE_ENGINE = org.h2.mvstore.db.MVTableEngine" для URL-адрес базы данных. Это все еще очень экспериментально, и многие функции пока не поддерживается. Данные хранятся в файле с суффиксом .mv.db.