【问题标题】:HSQLDB - Changing table modeHSQLDB - 改变表模式
【发布时间】:2011-05-03 19:37:27
【问题描述】:

有人知道是否有任何方法可以更改 HSQLDB 中现有表的模式?默认情况下,它们都处于内存模式,但是到那时,其中一些变得非常大,因此它们吃掉了我所有的(RAM)内存。我想将它们转换为“缓存”模式,但我没有找到任何解决方案。但是,不要丢失任何现有数据,这一点非常重要。

谢谢,

【问题讨论】:

    标签: java hsqldb


    【解决方案1】:

    在 2.0 版本中使用:

    SET TABLE mytable 类型缓存

    在早期版本中: 关闭数据库,编辑 .script 文件并将“CREATE TABLE MYTABLE ...”或“CREATE MEMORY TABLE MYTABLE ...”更改为“CREATE CACHED TABLE MYTABLE”,然后保存。打开数据库时,它将更改表类型。然后您应该关闭数据库一次以完成更改。

    【讨论】:

    • 谢谢!因为我有版本 1.7.2 这两种方法都不起作用。我现在正在考虑升级数据库。
    【解决方案2】:

    CACHED 表是使用 创建缓存表命令。只有一部分 他们的数据或索引保存在 内存,允许大表 否则最多需要几个 百兆内存。其他 缓存表的优点是 数据库引擎花费更少的时间 使用缓存表时启动 对于大量数据。这 缓存表的缺点是 速度降低。不要使用缓存 如果您的数据集相对 小的。在一些应用程序中 小桌子和一些大桌子,它 最好使用默认值,MEMORY 小桌子的模式。

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

    【讨论】:

    • 我知道。我在问如何改变这种模式而不必删除现有表并创建一个新表。我的意思是,某种“改变表”并改变模式。
    猜你喜欢
    • 1970-01-01
    • 2012-08-17
    • 1970-01-01
    • 1970-01-01
    • 2014-08-31
    • 1970-01-01
    • 2016-10-28
    • 2015-11-14
    • 1970-01-01
    相关资源
    最近更新 更多