Как всегда, милилон ответов, все не в кассу.
Правильный ответ - завернуть запросы в транзакцию.
Все остальные правки в коде не имеют отношения к принципиальному ускорению, и сделаны только затем, чтобы код выглядел не так позорно.
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$link->begin_transaction();
$stmt = $link->prepare("UPDATE `price` SET `price`=? WHERE `name`=?");
$stmt->bind_param("ss", $price, $name);
foreach ($jsondate as $k => $value) {
foreach ($value as $bo) {
$name = $bo['name'];
$price = $bo['price'];
$stmt->execute();
}
}
$link->commit();