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

时间:2013-10-22 02:46:10

标签: sqlite android-sqlite

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

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

具体来说,想象一下这样一个场景:在同一个线程中,我需要构建两个预处理语句来分别在同一个dababase中查询两个表,并且我需要使用 STEP()来检索数据从两个声明中选择。我的问题是哪个会有更好的表现:I。对两个陈述使用同一个连接; II。每个语句一个连接?(不考虑构建连接过程中发生的性能影响)或者是否有必要使用连接池来提高性能?

1 个答案:

答案 0 :(得分:0)

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

请注意,每个连接只有一个交易。 如果您有多个连接,则一个编写器将阻止所有读者。