Я использую sqlite3 с PHP для проекта. Я пытаюсь импортировать большой анализ данных JSON из API и вставить в локальный sqlite. Вот мой код summery-
$obj = json_decode($response);
foreach ($obj as $prt) {
$db = new SQLite3('user.db');
$db->busyTimeout(5000);
$xname=$prt->name;
$xage=$prt->age;
$xsex=$prt->sex;
$xaddress=$prt->address;
$xmobile=$prt->mobile;
$name=SQLite3::escapeString($xname);
$age=SQLite3::escapeString($xage);
$sex=SQLite3::escapeString($xsex);
$address=SQLite3::escapeString($xaddress);
$mobile=SQLite3::escapeString($xmobile);
$insert = "INSERT INTO `customer` (
name,
age,
sex,
address,
mobile
) VALUES (
'$name',
'$age',
'$sex',
'$address',
'$mobile'
)";
$statement = $db->prepare($insert);
$statement->execute();
$db->close();
unset($db);
}
Код работает нормально. Проблема в том, что это вызывает частые блокировки БД. Размер импортируемых данных составляет около 2000 строк. Если я закрываю окно во время обновления, это также вызывает блокировку БД. Другие функции программного обеспечения также не работают во время импорта. Я спрашиваю, что было бы лучше всего импортировать большие данные без блокировки БД?