Php sqlite并发大容量插入

Php sqlite并发大容量插入,php,sqlite,gearman,Php,Sqlite,Gearman,我认为sqlLite更适合于SELECT而不是insert 特别是对于并发插入,因为它会锁定整个数据库文件 但我想知道你的最后一点:) 所以我想知道我是否会给自己带来麻烦 有这样一件事: foreach($rows as $row){ if(null === $model->check($row->id,$row->name)){ //prepare date $model->insert($data); } } 代码在g

我认为sqlLite更适合于SELECT而不是insert 特别是对于并发插入,因为它会锁定整个数据库文件 但我想知道你的最后一点:)

所以我想知道我是否会给自己带来麻烦 有这样一件事:

foreach($rows as $row){
    if(null === $model->check($row->id,$row->name)){
        //prepare date
        $model->insert($data);
    }
}
代码在gearman worker中,所以我 不止一个实例

提前谢谢。

我一点问题都没有。 关于sqlite锁,这里有一篇非常好的读物:

对我来说一点问题都没有。
关于sqlite锁,这里有一篇很棒的读物:

您可能还想看看。for Berkeley DB与SQLite兼容,但它具有更高的并发性,因为它不需要独占的数据库写锁。由于该API与SQLite兼容,因此根据Berkeley DB库重建应用程序很容易

您可能还想看看。for Berkeley DB与SQLite兼容,但它具有更高的并发性,因为它不需要独占的数据库写锁。由于该API与SQLite兼容,因此根据Berkeley DB库重建应用程序很容易

根据我使用SQLite的经验,是的,这会导致问题。由于锁定,循环中的更新和插入有很高的失败率,至少在我以前的经验中是这样。感谢您的快速回复。你知道批量删除是否有问题吗?根据我使用SQLite的经验,是的,这会导致问题。由于锁定,循环中的更新和插入有很高的失败率,至少在我以前的经验中是这样。感谢您的快速回复。您知道批量删除是否有问题吗?