gpt4 book ai didi

performance - 在不同的线程(QT)上同时打开多个 SQLite 数据库实例

转载 作者:行者123 更新时间:2023-12-03 16:15:27 26 4
gpt4 key购买 nike

从不同的线程同时使用多个打开的连接有什么问题吗?

从我读过的内容来看,默认情况下它是线程安全的,但是,这会损害性能而不是改善性能吗?

最佳答案

有多个连接不是问题,唯一要记住的是 SQLite 不支持多个写入事务的并发。来自 SQlite site :

SQLite supports an unlimited number of simultaneous readers, but it will only allow one writer at any instant in time. For many situations, this is not a problem. Writer queue up. Each application does its database work quickly and moves on, and no lock lasts for more than a few dozen milliseconds. But there are some applications that require more concurrency, and those applications may need to seek a different solution.



SQLite 是一个“非典型”数据库管理系统:实际上,它是一个库,它提供 SQL 作为语言来访问简单的“文件中的数据库”以及 DBMS 的一些其他功能。例如,它没有真正的并发控制(它使用操作系统函数来锁定 db 文件)。

所以,如果你需要并发插入数据库,你应该使用其他的东西,例如 PostgreSQL .

关于performance - 在不同的线程(QT)上同时打开多个 SQLite 数据库实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31516177/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com