sqlite - 为什么对 Java 应用程序使用 SQLite 而不是 H2

标签 sqlite h2

我需要在将在 Linux 设备上运行的 Java 应用程序中使用嵌入式数据库。该应用程序使用 Hibernate 和 derby 数据库。这不是 Android 应用程序。 由于数据库性能较慢,我们正在寻找更好的嵌入式数据库框架。 查看所有选项,H2 似乎比 SQLite 更好,因为它不涉及交叉编译,也没有要构建的 JNI 接口(interface)。 那么,为什么没有更多地使用 H2。是否有任何我不知道的缺点或问题。

最佳答案

SQLite 库是用 C 实现的,因此它确实需要(交叉)编译和 JNI 接口(interface)。 然而,SQLite 就是这样widely used SQLite 接口(interface)很可能已经存在(作为语言运行时的一部分,或作为 JDBC 驱动程序),并且使用它比显式将 H2 添加到项目中更简单。 (在您的特定环境中,这实际上可能并非如此。)

如果你想加快你的应用程序,你必须衡量自己。

关于sqlite - 为什么对 Java 应用程序使用 SQLite 而不是 H2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43481267/

相关文章:

r - 如何使用 RSQLite 从数据库中检索大量数据? (缓冲区溢出?)

SQLite:如何交换仅留下 ID 列的两行

java - Flyway + h2内存数据库+ hibernate +测试导致表不存在

java - 从 Erlang 代码连接到 H2 DB

sql - 关于H2中的重复 key 更新功能

java - H2用户自定义函数被多次调用

c# - 托管 Blazor WASM GetFromJsonAsync : The JSON value could not be converted to System. Collections.Generic.IEnumerable`

ios - 如何在 iOS 中以 WAL 模式打开 SQLite 连接

从 SQLite 数据库中检索时,Android Image 不会更改

java - H2 - 如何创建将行更改记录到另一个表的数据库触发器?