6

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

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

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

4

1 回答 1

2

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

请注意,每个连接有一个事务。如果您有多个连接,则一位作家将阻止所有读者。

于 2013-10-22T11:25:43.240 回答