我正在使用 H2 数据库 - 以嵌入模式运行 - 当我的应用程序启动时,我会使用 mySQL 数据库中的数据加载 H2 数据库。我使用链接表指向 mySQL 表。
我的问题是,我正在尝试加快 H2 在表上创建索引所需的时间,特别是对于较大的表(500 万+)。
有谁知道当我将下一个表的数据加载到 H2 中时在单独的线程中运行 CREATE INDEX 命令是否安全? 例如: 线程 1:加载表 1 -> 告诉线程 2 开始创建索引,然后线程 1 加载表 2,依此类推
加载表时我无法使用 MVCC 模式,因为稍后我在进行选择时需要使用 MULTI_THREADED 模式。当我尝试使用 MULTI_THREADED 模式时,即使我将数据加载到离散表中,我也会遇到锁定错误。
非常感谢!
最佳答案
可能有效的方法(但我不确定它是否更快)是首先创建表和索引,然后并行加载表。这应该可以避免系统表中的锁定问题。
关于java - H2数据库-创建索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14888811/