我是SQLite的新手,我读过SQLite的序列化模式是线程安全的,并且可以安全地被多个线程使用而没有任何限制。
我的问题是:在单线程应用中,如果我为所有数据库操作使用一个相同的全局连接,而不是每个数据库操作使用一个连接,是否会对性能产生影响?(忽略性能)建立数据库连接的影响)
具体来说,想象一下这样一个场景:在同一个线程中,我需要构建两个预处理语句来分别在同一个dababase中查询两个表,并且我需要使用 STEP()来检索数据从两个声明中选择。我的问题是哪个会有更好的表现:I。对两个陈述使用同一个连接; II。每个语句一个连接?(不考虑构建连接过程中发生的性能影响)或者是否有必要使用连接池来提高性能?
答案 0 :(得分:0)
在单线程应用中,您可以使用单个或多个连接。 在后一种情况下,可以并行运行多个查询。
请注意,每个连接只有一个交易。 如果您有多个连接,则一个编写器将阻止所有读者。