是否应该序列化对存储在hsqldb数据库中的文件的访问权限?

时间:2013-03-04 11:36:39

标签: multithreading file-io hsqldb

假设:

  1. 可以使用apache commons dbcp包的帮助同时访问HSQLDB数据库。
  2. 我将文件存储在嵌入式 hsqldb数据库的缓存表中。
  3. 众所周知,不应该从多个线程访问传统硬盘驱动器上的文件(而不是固态硬盘),因为我们可能会降低性能而不是提升。这是因为每个线程上下文切换在文件之间来回移动机械读头所花费的时间。
  4. 问题:

    • 此规则是否适用于HSQLDB数据库中管理的文件?文件大小可以从几KB到几MB不等。

1 个答案:

答案 0 :(得分:0)

HSQLDB在操作期间访问两个文件以进行数据存储。一个文件用于所有CACHED表数据,另一个文件用于所有lobs。它在内部管理对这些文件的访问。

对于多个线程,在以下情况下可能会降低访问速度。

  1. 对大型表的同时读写访问。
  2. 同时对大于500KB的lobs进行读写访问。