【问题标题】:How to create multiple SQLite in memory database如何在内存数据库中创建多个 SQLite
【发布时间】:2012-07-14 09:53:59
【问题描述】:

我在我的 C++ 项目的内存数据库中使用 SQLite。在我的项目中,将有多个线程同时读取和写入内存数据库中的 SQLite。但是,不同的线程正在读取和更新不同的表,但我仍然收到 SQLite 数据库表锁定错误。如果我没记错的话,我知道 SQLite 将锁定整个数据库文件,而不是当一位作家编写表时所涉及的表。尽管我不确定,但我认为内存数据库也是如此。所以我实际上想创建多个内存数据库来解决这个问题。所以我的问题是有可能吗?如果可能的话,怎么做?提前谢谢你。

【问题讨论】:

标签: c++ sqlite in-memory-database


【解决方案1】:

从整体的角度来看,即使 SQLite 不支持表级或行级锁定(我确信它必须这样做),但为了解决这个问题而实施多个数据库听起来似乎是错误的方法。最终会导致您的应用程序变得不必要地复杂,只是为了解决一个技术问题。

例如,您将如何连接多个数据库之间的表?您将如何同步交易?如果您不需要这样做,请问问自己您是否真的需要 RDBMS 的强大功能 - 基于 Boost/STL 的一系列对象/集合是否不能正常工作,并且可能更快?

至于怎么做。一些最好的信息实际上是在 StackOverflow 上。以this answer 为例。

【讨论】:

    猜你喜欢
    • 2011-01-26
    • 2012-02-28
    • 1970-01-01
    • 2013-04-14
    • 1970-01-01
    • 1970-01-01
    • 2019-10-12
    • 2021-06-02
    • 2014-04-07
    相关资源
    最近更新 更多