HSQLDB:优先选择查询而不是插入查询

Posted

技术标签:

【中文标题】HSQLDB:优先选择查询而不是插入查询【英文标题】:HSQLDB: Prioritize Select queries over Insert queries 【发布时间】:2017-01-20 08:34:03 【问题描述】:

我同时有多个HSQL 数据库连接处于活动状态。大部分是插入数据,少数是读取数据。

有没有办法在选择查询运行时“暂停”插入查询?

我读到在 mysql 中曾经有一个名为 INSERT DELAYED 的功能,它确实做到了,但现在已弃用。

我当前的解决方案是,当我请求 SELECT 查询时,让 INSERT 查询线程休眠一段固定的时间。这似乎是解决此问题的好方法,因为 SELECT 查询现在非常快。我仍然希望有一个内置的解决方案。

【问题讨论】:

【参考方案1】:

在默认事务隔离模型 LOCKS 中,您可以在执行 SELECT 语句之前锁定插入的表。在 SELECT 解锁表后提交事务。

【讨论】:

以上是关于HSQLDB:优先选择查询而不是插入查询的主要内容,如果未能解决你的问题,请参考以下文章

复杂选择上的 HSQLDB org.springframework.dao.TransientDataAccessResourceException

HSQLDB 中的原子插入/选择

测试通过 Mule JDBC 传输到嵌入式 HSQLDB 的插入,后续查询不返回任何结果

在 HSQLDB 中选择 100+ 百万行

HSQLDB 在使用嵌套查询并且数据库处于只读模式时触发 OutOfMemoryError

使用 mysqli 在同一查询中选择和插入/更新