Performance HSQL简单一栏更新永远运行
我有一个大约125000行的数据库,每行有主键、两个int列和两个varchar。Performance HSQL简单一栏更新永远运行,performance,hsqldb,Performance,Hsqldb,我有一个大约125000行的数据库,每行有主键、两个int列和两个varchar。 我已经添加了一个int列,并试图在添加NOTNULL约束之前填充它 数据库保存在脚本文件中。我在某个地方读到,所有受影响的行在实际更新之前都会加载到内存中,这意味着不会对每一行进行磁盘写入。整个数据库大约是20MB,这意味着加载和更新应该相当快,对吗 因此,没有连接,没有嵌套查询,基本更新。 我尝试了多个db管理器,包括与HSQLJAR捆绑的一个 更新tbl1集合col1=1 查询从未完成执行。它可能内存不足 执
我已经添加了一个int列,并试图在添加NOTNULL约束之前填充它 数据库保存在脚本文件中。我在某个地方读到,所有受影响的行在实际更新之前都会加载到内存中,这意味着不会对每一行进行磁盘写入。整个数据库大约是20MB,这意味着加载和更新应该相当快,对吗 因此,没有连接,没有嵌套查询,基本更新。 我尝试了多个db管理器,包括与HSQLJAR捆绑的一个 更新tbl1集合col1=1
查询从未完成执行。它可能内存不足 执行此操作的更简单方法是使用默认值1定义列,无论表的大小如何,它都不会占用太多内存。您甚至可以同时添加NOTNULL约束
ALTER TABLE T ADD COLUMN C INT DEFAULT 1 NOT NULL
最后这样做,然后删除默认值。谢谢