java - H2数据库-创建索引

标签 java database h2

我正在使用 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/

相关文章:

c# - 如何在 LINQ 中获取类的属性

mysql - Tornado -mysql插入不工作

java - Android:数据库字段未通过循环填充

java - 托管 H2 数据库并接受连接

java - 找不到数据库 "mem:",当我尝试连接 ht2 数据库时 IFEXISTS=true

java - 井字游戏按钮按下创建 AND 键调度超时

java - 如何启用/切换到基于互联网的键盘而不是传统键盘?

java - RESTLet 2.0.9 - 有关多个 @Get 和 @Post 注释的查询?

Modbus TCP 上的 Java 编程将 4 个整数寄存器转换为 double 值

H2内存数据库查询很慢