1 回答

TA贡献1805条经验 获得超9个赞
插入 3000 行并不是很多,如果操作正确的话,应该不会花费太多时间。您必须记住,您应该始终使用准备好的语句。您可以使用不同的数据多次执行同一语句。当你将整个事情包装在一个事务中时,它应该执行得非常快。
// Start transaction
$mysqli->begin_transaction();
// prepared statement prepared once and executed multiple times
$insertStatement = $mysqli->prepare('INSERT INTO crbsms_queue(sender, phone, message, user_id, time_submitted) VALUES(?,?,?,?,?)');
$insertStatement->bind_param('sssss', $sender, $phone, $message, $user_id, $date);
foreach ($phones as $phone) {
$insertStatement->execute();
}
// Save and end transaction
$mysqli->commit();
如果这不能提高性能,则意味着您在其他地方遇到了问题。您需要分析和调试您的应用程序以找出问题的根源。
附注:请记住启用 mysqli 错误报告,否则您的事务可能无法正常运行。
- 1 回答
- 0 关注
- 77 浏览
添加回答
举报