我使用HSQLDB 2.3.2,我遇到了以下问题:
追踪引擎:? - copyShadow [size,time] 2246252 9721
TRACE 发动机:? - setFileModified标志设置为TRACE ENGINE:? - 缓存保存 行[count,time]总计24801,9921运行24801,9921 txts 96
追踪引擎:? - copyShadow [size,time] 4426920 7732
TRACE 发动机:? - 缓存保存行[count,time]总计49609,17775操作 24808,7854 txts 96
TRACE ENGINE:? - copyShadow [大小,时间] 6574796 9024
大约需要1500-2000秒,最后我可以获得空表或异常,如下所示:
Tests run: 0, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 1,525.509 sec
org.apache.maven.surefire.util.SurefireReflectionException: java.lang.reflect.InvocationTargetException; nested exception is java.lang.reflect.InvocationTargetException: null
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:164)
at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:110)
at org.apache.maven.surefire.booter.SurefireStarter.invokeProvider(SurefireStarter.java:175)
at org.apache.maven.surefire.booter.SurefireStarter.runSuitesInProcessWhenForked(SurefireStarter.java:107)
at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:68)
Caused by: java.lang.OutOfMemoryError: Java heap space
删除截断dbName.backup后。我不必在我的应用程序中使用任何备份,如何避免复制?
#HSQL数据库引擎2.3.2
#Thu Mar 19 08:42:10 EAT 2015
版本2.3.2 =
改性=无
hsqldb.applog=1
但没有任何反应。如果您更改dbName.script中的行SET DATABASE EVENT LOG LEVEL 1
,则会出现.dbName.app.log
在使用我的应用程序中的数据库后,dbName.properties被覆盖:'modified'更改为'yes',并删除下面的任何行。我做错了什么?
答案 0 :(得分:0)
我的数据库已缓存表,其中包含10 000 000条记录而没有任何记录 约束和索引。
拥有一个没有任何约束和索引的大表是完全错误的。此表上任何影响几行的SELECT,UPDATE或DELETE都必须搜索表中的所有行。
我尝试执行"截断表tableName"
上述语句允许您在提交之前回滚操作。回滚信息存储在内存中,当表非常大时,内存将耗尽。由于您确实要提交更改,请改用此语句:
TRUNCATE TABLE tableName AND COMMIT
指南中提到了这一点:http://hsqldb.org/doc/2.0/guide/dataaccess-chapt.html#dac_truncate_statement
您可以对.properties文件进行的唯一补充是只读设置数据库文件。任何其他更改都将被忽略并删除。
.backup文件供内部使用数据库引擎,您无法停止使用。