在序列化模式下使用 SQLite 时是否需要使用连接池?

Sim*_*her 6 sqlite android-sqlite

我是 SQLite 的新手,我读过 SQLite 的序列化模式是线程安全的,并且可以不受限制地由多个线程安全使用。

我的问题是:在单线程应用程序中,与每个数据库操作使用一个连接相比,如果我对所有数据库操作使用一个相同的全局连接,是否会影响性能?(忽略构建数据库连接的性能影响)

具体来说,想象这样一个场景:在同一个线程中,我需要构建两个prepared statement来分别查询同一个dababase中的两个表,我需要交替使用STEP()从两个语句中检索数据。我的问题是哪个会有更好的性能: I. 对两个语句使用相同的连接;二、每个语句一个连接?(不考虑建立连接过程中发生的性能影响)或者是否有必要使用连接池来提高性能?

CL.*_*CL. 3

在单线程应用程序中,您可以使用单个或多个连接。在后一种情况下,可以并行运行多个查询。

请注意,每个连接有一笔交易。如果您有多个连接,则一名写入者将阻止所有读取者。