Ste*_*son 5 sqlite optimization performance qt thread-safety
从不同的线程同时使用多个打开的连接有什么问题吗?
从我读过的内容来看,默认情况下它是线程安全的,但是,这会损害性能而不是改善性能吗?
拥有多个连接不是问题,唯一要记住的是 SQLite 不支持多个写入事务的并发。来自 SQlite网站:
SQLite 支持无限数量的并发读取器,但在任何时刻只允许一个写入器。对于许多情况,这不是问题。作家排队。每个应用程序都快速完成其数据库工作并继续前进,并且没有锁定持续时间超过几十毫秒。但有些应用程序需要更多并发性,这些应用程序可能需要寻求不同的解决方案。
SQLite 是一个“非典型”数据库管理系统:实际上,它是一个库,提供 SQL 作为语言来访问简单的“文件中的数据库”以及 DBMS 的一些其他功能。例如,它没有真正的并发控制(它使用操作系统功能来锁定数据库文件)。
因此,如果您需要并发插入数据库,您应该使用其他东西,例如PostgreSQL。