我是php/sql的初学者(6个月),我注意到-事务比纯"插入"更快。
当我操作大量数据(范围:10-500k插入)时,我注意到我的脚本很慢。
目标:我想做最快的方式将数据保存到sqlite *.db文件。
我的脚本是这样的:
$array = array(
'ronaldo' => 'gay' ,
'mario basler' => 'cool guy'
);
$db = new Sqlite3('file.db')
$db->query('BEGIN;');
foreach($array as $kee => $val){
$db->query("insert into table('name' , 'personality') values('$k' , '$v')");
}
$db->query("COMMIT");
那样是错的吗?
你做的完全正确。它将加快您与数据库的交互。任何更改数据库的命令都将自动启动一个尚未生效的事务。
因此,如果您在没有显式启动事务的情况下执行了许多插入操作,则每个操作都将创建一个事务。创建1个事务,并批量执行所有操作。
如何在iPad中快速插入40000条记录到sqlite数据库
https://www.sqlite.org/lang_transaction.html