Sqlite批量插入速度慢的解决方法【ThinkPHP】

使用ThinkPHP大批量转移数据一份,结果发现SQLite插入速度慢,几分钟才插入几千条,要了我的小命了。

后来在网上找到SQLite的插入机制,知道要在插入时使用事务,可以加速。

SQLite的事务请使用begin和commit,在TP中,可以直接使用startTrans和commit;

[sql]
$db = M("userlist");
$db->startTrans();
foreach ($userList as $qq=>$userName)
{
$data[‘id’] = NULL;
$data[‘username’] = $userName;
$data[‘psw’] = ”;
$data[’email’] = ”;
$data[‘qq’] = $qq;
$data[‘dateline’] = 0;
$data[‘status’] = 0;

$db ->data($data)
->add();
}
$db->commit();[/sql]

发表评论