0

我读到 sqlLite 更适合 SELECT 而不是插入,尤其是并发插入,因为它会锁定整个数据库文件,但我想知道你的最后一点:)。

所以我想知道我是否会因为这样的事情而陷入困境:

foreach($rows as $row){
    if(null === $model->check($row->id,$row->name)){
        //prepare date
        $model->insert($data);
    }
}

代码在齿轮工内部,所以我有不止一个实例。

提前致谢。

4

2 回答 2

2

您可能还想查看Berkeley DB。Berkeley DB的SQL API与 SQLite 兼容,但它具有更高的并发性,因为它不需要独占数据库写入锁。由于 API 与 SQLite 兼容,因此可以轻松测试针对 Berkeley DB 库重建应用程序。

于 2011-02-17T06:11:11.440 回答
1

对我来说完全没有问题。这是有关 sqlite 锁的精彩读物: http ://www.sqlite.org/lockingv3.html

于 2011-02-16T15:36:17.257 回答