Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance HSQL简单一栏更新永远运行_Performance_Hsqldb - Fatal编程技术网

Performance HSQL简单一栏更新永远运行

Performance HSQL简单一栏更新永远运行,performance,hsqldb,Performance,Hsqldb,我有一个大约125000行的数据库,每行有主键、两个int列和两个varchar。 我已经添加了一个int列,并试图在添加NOTNULL约束之前填充它 数据库保存在脚本文件中。我在某个地方读到,所有受影响的行在实际更新之前都会加载到内存中,这意味着不会对每一行进行磁盘写入。整个数据库大约是20MB,这意味着加载和更新应该相当快,对吗 因此,没有连接,没有嵌套查询,基本更新。 我尝试了多个db管理器,包括与HSQLJAR捆绑的一个 更新tbl1集合col1=1 查询从未完成执行。它可能内存不足 执

我有一个大约125000行的数据库,每行有主键、两个int列和两个varchar。
我已经添加了一个int列,并试图在添加NOTNULL约束之前填充它

数据库保存在脚本文件中。我在某个地方读到,所有受影响的行在实际更新之前都会加载到内存中,这意味着不会对每一行进行磁盘写入。整个数据库大约是20MB,这意味着加载和更新应该相当快,对吗

因此,没有连接,没有嵌套查询,基本更新。 我尝试了多个db管理器,包括与HSQLJAR捆绑的一个

更新tbl1集合col1=1


查询从未完成执行。

它可能内存不足

执行此操作的更简单方法是使用默认值1定义列,无论表的大小如何,它都不会占用太多内存。您甚至可以同时添加NOTNULL约束

ALTER TABLE T ADD COLUMN C INT DEFAULT 1 NOT NULL

最后这样做,然后删除默认值。谢谢