4

如果我想跨多个线程使用 Haskell 的 HDBC 从 SQLite 数据库查询(读取),我可以使用单个连接,还是每个线程都有自己的连接?谢谢。

4

1 回答 1

1

我搜索了 hdbc-sqlite 代码,发现了这条评论

处理更改计数的逻辑:查看查询前后的总更改。如果它们不同,请查看本地更改。(根据文档,除非真正运行进行更改的查询,否则本地更改计数器似乎不会更新。)

这在线程方面是可以的,因为 SQLite 不支持在多个线程中使用给定的 dbh。

官方的 Sqlite 文档有一整页关于这个主题

常见问题解答说:

(5) 多个应用程序或同一应用程序的多个实例可以同时访问一个数据库文件吗?

多个进程可以同时打开同一个数据库。多个进程可以同时执行 SELECT。但是,任何时候只有一个进程可以对数据库进行更改。

此信息将排除您的两种方法。也许您可以为此编写一些测试以表明此信息是错误的。

于 2013-06-03T20:12:08.503 回答