【发布时间】:2011-01-28 14:08:26
【问题描述】:
是否可以与 HSQLDB 并行运行查询?由于我在文档中找不到任何东西,我想优化器没有包含并行性。但是多个数据库连接呢?假设我有 2 个线程在工作(并且有 2 个内核可用),每个线程都有一个到数据库的“私有”(单独)连接,并且每个线程都尝试执行不同的查询(对不同表的查询)。这样的查询会并行执行吗?
【问题讨论】:
标签: parallel-processing hsqldb
是否可以与 HSQLDB 并行运行查询?由于我在文档中找不到任何东西,我想优化器没有包含并行性。但是多个数据库连接呢?假设我有 2 个线程在工作(并且有 2 个内核可用),每个线程都有一个到数据库的“私有”(单独)连接,并且每个线程都尝试执行不同的查询(对不同表的查询)。这样的查询会并行执行吗?
【问题讨论】:
标签: parallel-processing hsqldb
HSQLDB 2.x 完全是多线程的,并且可以并行执行此类查询。
一般来说,每个线程独立于其他线程执行查询。事务管理器检查每个语句的表和行访问,并在必要时引入对当前线程的等待,仅当另一个连接修改了相关的表或行时,否则它允许连接线程继续进行。如果您的语句不修改数据,则多个线程可以同时查询同一个表或同一行。
在 LOCKS 模式中的表级别和 MVCC 模式中的行级别引入了等待。
请参阅 HSQLDB Gide http://hsqldb.org/doc/2.0/guide/sessions-chapt.html#snc_tx_tx_cc
【讨论】: