如果我想跨多个线程使用Haskell的HDBC从SQLite数据库查询(读取),我可以使用单个连接,还是应该每个线程都有自己的连接?感谢。
答案 0 :(得分:1)
我搜索了hdbc-sqlite代码并找到了这个comment:
处理变更计数的逻辑:查看之前的总变化 并在查询之后。如果它们不同,那么请查看本地更改。 (除非真的,否则本地更改计数器似乎不会更新 根据文档运行进行更改的查询。)
这是正确的线程,因为SQLite不支持使用给定的 无论如何,dbh在多个线程中。
官方Sqlite文档有关于此topic
的整页FAQ说:
(5)可以多个应用程序或多个实例相同 应用程序同时访问单个数据库文件?
多个进程可以同时打开同一个数据库。 多个进程可以同时执行SELECT。但是只有 一个进程可以随时对数据库进行更改 然而,时间。
此信息将排除您的两种方法。也许你可以为此写一些测试来证明这些信息是错误的。