我正在使用H2数据库 - 以嵌入模式运行 - 当我的应用程序启动时,我使用mySQL数据库中的数据加载H2数据库。我使用链接表来指向mySQL表。H2数据库 - 创建索引
我的问题是,我试图加快H2在表上创建索引的时间,特别是对于较大的表(500万+)。
有谁知道是否可以安全地在单独的线程中运行CREATE INDEX命令,同时我将下一个表的数据加载到H2中? 例如: 线程1:负载表1 - >告诉线程2开始创建索引,然后线程1个负载表2等
我不能,因为我后来加载表时使用MVCC模式当我做我的选择时需要使用MULTI_THREADED模式。当我尝试使用MULTI_THREADED模式时,即使我正在将数据加载到离散表中,我也会收到锁定错误。
非常感谢!
为什么不加载数据和“正常”后创建索引? – twillouer 2013-02-15 17:02:39
创建索引需要很长时间,所以我正在寻找一种方法来分配跨线程的时间。目前,我正在做所有事情,因为锁定问题,但我会尝试Thomas的建议。 – joechip 2013-02-15 18:06:43
我明白了,但我不确定比许多线程会改善。如果你有统计资料,我会接受采访。 – twillouer 2013-02-15 21:25:37