gpt4 book ai didi

php - MySQL插入和更新优化

转载 作者:行者123 更新时间:2023-11-30 00:22:19 25 4
gpt4 key购买 nike

我想修改一个cron脚本,其中包括3个表插入、1个表更新和1个删除过程。记录有数千条,因此插入数据需要很长时间。

数据被插入到产品表、产品付款表、产品详细信息表和产品图片表中。

当前脚本检查产品是否存在。如果不存在,则先向products表插入数据,并返回新插入的产品id。之后,对其他三个表进行插入。图像表中可能会有多次插入(取决于图像的数量)。

如果产品已存在,请更新表。对于图像表,脚本删除该特定产品的现有图像记录,然后将所有图像作为新图像插入到图像表中。

这就是现在发生的情况:

if(!$prod_exists){
$product_id = insert_product($product_data) ;
if($product_id){
insert_payment($paymnt_data, $product_id);
insert_details($details_data, $product_id);
insert_images($image_data, $product_id);
}
}else{
update_product($product_data, $product_id)
update_payment($paymnt_data, $product_id);
update_details($details_data, $product_id);
delete_images($product_id);
insert_images($image_data, $product_id);
}

由于数据量巨大,执行时间较长。我们有什么方法可以优化整个流程吗?

谢谢中号

最佳答案

可以做的是使用REPLACE INTO sql查询一次性插入一行或替换值。

看看这篇文章:http://blogs.coldbuffer.com/inserting-or-updating-records-using-mysql-replace

关于php - MySQL插入和更新优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23135515/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com