首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >H2数据库-创建索引

H2数据库-创建索引
EN

Stack Overflow用户
提问于 2013-02-15 13:30:19
回答 3查看 4.5K关注 0票数 2

我使用的是H2数据库--在嵌入式模式下运行--当我的应用程序启动时,我会用来自mySQL数据库的数据加载H2数据库。我使用链接表指向mySQL表。

我的问题是,我正在尝试加快H2在表上创建索引所用的时间,特别是对于较大的表(5Million+)。

有人知道在我将下一个表的数据加载到H2中时,在单独的线程中运行CREATE INDEX命令是否安全吗?例如:线程1:加载表1,->告诉线程2开始创建索引,然后线程1加载表2,依此类推。

我不能在加载表时使用MVCC模式,因为稍后我在执行选择时需要使用MULTI_THREADED模式。当我尝试使用MULTI_THREADED模式时,即使我正在将数据加载到离散表中,我也得到了锁定错误。

非常感谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-02-15 16:49:02

可行的方法(但我不确定是否更快)是先创建表和索引,然后并行装入这些表。这应该可以避免系统表中的锁定问题。

票数 2
EN

Stack Overflow用户

发布于 2013-04-05 17:38:47

我还想添加rst.findColumn("columnName")方法,以便在获得表的结果集后查找索引。rst是一个ResultSet对象。这就是我所使用的。

票数 0
EN

Stack Overflow用户

发布于 2017-10-10 07:18:54

另一种显著提高H2加载尤其是索引性能的方法是将初始内存设置为接近预期内存需求。作为一个例子,这一改变允许一个1.5 20需求的应用程序在47秒内启动,而不是在15 -20分钟后失败。在此之前,我们看到超过了GC开销限制和JVMTI错误。

将以下内容添加到VM参数中(作为示例):

代码语言:javascript
复制
 -Xms2g
 -Xmx4g
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14888811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档