我的程序是有一个全局数组$arrTmp ,不断接纳符合条件的数组(状态和 ID ),有三种:( 1,id),(2,id),(3,id)。
当 count($arrTmp)>300 的时候,执行如下函数用 medoo 这个数据库类提交 update 到 sqlite 数据库中,然后清空$arrTmp ,继续接纳新的。
function updateSqlite($dbfile,$arr){
$db = new medoo([
'database_type' => 'sqlite',
'database_file' => $dbfile.'.db3'
]);
$db->pdo->beginTransaction();
$value = array();
foreach($arr as $value){
$db->update("Content",["status"=>$value['do']],["id"=>$value['id']]);
}
/* Commit the changes */
$db->pdo->commit();
}
等于是提交了 300 条记录更改,用时 6-10 秒。如果是 insert 的话,一次 500 条都很快完成。
所以,想请教一下:
1.这个速度是正常的吗?
2.能更快吗?
3.我的这个函数是否有错,或者思路有错?
谢谢!
当 count($arrTmp)>300 的时候,执行如下函数用 medoo 这个数据库类提交 update 到 sqlite 数据库中,然后清空$arrTmp ,继续接纳新的。
function updateSqlite($dbfile,$arr){
$db = new medoo([
'database_type' => 'sqlite',
'database_file' => $dbfile.'.db3'
]);
$db->pdo->beginTransaction();
$value = array();
foreach($arr as $value){
$db->update("Content",["status"=>$value['do']],["id"=>$value['id']]);
}
/* Commit the changes */
$db->pdo->commit();
}
等于是提交了 300 条记录更改,用时 6-10 秒。如果是 insert 的话,一次 500 条都很快完成。
所以,想请教一下:
1.这个速度是正常的吗?
2.能更快吗?
3.我的这个函数是否有错,或者思路有错?
谢谢!