2010-11-02 5 views
5

Кто-нибудь знает, есть ли способ изменить режим существующей таблицы в HSQLDB? По умолчанию все они находятся в режиме памяти, но к тому времени некоторые из них стали очень большими и, таким образом, они съели всю мою память. Я хочу преобразовать их в «кэшированный» режим, но я не нашел никакого решения. Однако очень важно не потерять какие-либо существующие данные.HSQLDB - Изменение режима таблицы

Спасибо,

ответ

4

В версии 2.0 использования:

SET ТАБЛИЦЫ туЬаОго ТИП кэшируется

В более ранних версиях: Shutdown базы данных, редактировать .script файл и изменить «CREATE TABLE MyTable. .. "или" СОЗДАТЬ ПАМЯТЬ ПАМЯТИ MYTABLE ... ", чтобы затем« СОЗДАТЬ ТАЙНУ ТАЙНУ ТАБЛИЦУ », а затем сохранить. Когда база данных будет открыта, она изменит тип таблицы. Затем вы должны завершить работу базы данных один раз, чтобы завершить изменение.

+0

Спасибо! Поскольку у меня есть версия 1.7.2, ни один из этих двух методов не работает. Я рассматриваю сейчас обновление БД. – Beethoven

0

кэшируются таблицы, созданные с помощью CREATE TABLE КЭШИРУЕТСЯ команду. Только часть их данных или индексов хранится в памяти , что позволяет большим таблицам в противном случае принимать до нескольких сотен мегабайт памяти. Другим преимуществом кэшированных таблиц является то, что механизм базы данных занимает меньше времени до запускается при использовании кэшированной таблицы для больших объемов данных. Недостатком кэшированных таблиц является снижение скорости. Не используйте кешированные таблицы , если ваш набор данных относительно маленький. В приложении с небольшими таблицами и некоторыми крупными, лучше использовать режим по умолчанию, MEMORY для небольших таблиц.

http://hsqldb.org/doc/guide/guide.html

+0

Я знаю это. Я спрашивал, как можно изменить этот режим, не удаляя существующую таблицу и не создавая новую. Я имею в виду, что-то вроде «alter table» и меняю режим. – Beethoven

Смежные вопросы