2010-11-02 44 views
5

有誰知道是否有任何方法可以改變HSQLDB中現有表的模式?默認情況下,它們都處於內存模式,但是到那時,其中一些變得非常大,因此它們吃掉了我的所有內存。我想將它們轉換爲「緩存」模式,但我沒有找到任何解決方案。但是,不要丟失任何現有數據是非常重要的。HSQLDB - 更改表模式

謝謝,

回答

4

在2.0版使用:

SET TABLE mytable中鍵入緩存

在早期版本: 關閉數據庫,編輯.script文件,而且改變「CREATE TABLE MYTABLE。 ..「或」CREATE MEMORY TABLE MYTABLE ...「爲」CREATE CACHED TABLE MYTABLE「,然後保存。當數據庫打開時,它將改變表格類型。您應該關閉數據庫一次以完成更改。

+0

謝謝!由於我有版本1.7.2,這兩種方法都不起作用。我正在考慮現在進行數據庫升級。 – Beethoven 2010-11-02 13:32:32

0

CACHED表與創建 CREATE緩存的表命令。他們的數據或索引只有 被保存在 內存中,允許大型表格 否則會佔用幾百兆內存的幾個 。另一個 緩存表的優點是 數據庫引擎需要較少的時間來啓動 緩存表時,對於大量數據使用 。緩存表的缺點是速度下降。如果您的數據集相對較小,請勿使用緩存的 表。在一些小型表格和一些大型表格的應用程序中, 更適合在小型表格中使用默認的MEMORY 模式。

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

+0

我知道。我在問如何改變這種模式,而不必刪除現有的表格並創建一個新的表格。我的意思是,某種「改變表」並改變模式。 – Beethoven 2010-11-02 08:52:49