加入收藏 | 设为首页 | 会员中心 | 我要投稿 阜阳站长网 (https://www.0558zz.com/)- 科技、建站、内容创作、云计算、网络安全!
当前位置: 首页 > 数据库 > MySql > 正文

php – 更新大型MySQL表

发布时间:2020-11-18 10:51:14 所属栏目:MySql 来源:互联网
导读:我的MySQL数据库中有一个10000个产品的表.我想以最快的方式更新所有记录.我正在使用Laravel和MySQL.为了更好的解决方案,我也可以改变技术现在需要将近半小时来更新整个表格.我想以最快的方式更新该表.我该怎么办?UPDATE我正在使用如下的Laravel模型DB::table

我的MySQL数据库中有一个10000个产品的表.我想以最快的方式更新所有记录.我正在使用Laravel和MySQL.

为了更好的解决方案,我也可以改变技术现在需要将近半小时来更新整个表格.

我想以最快的方式更新该表.我该怎么办?

UPDATE

我正在使用如下的Laravel模型

DB::table('products')->where('product_id',$product_id)->limit(1)->update(array('prodcut_quantity' => $prodcut_quantity));
最佳答案 我将创建一个循环,将主键和产品数量添加到数组中,然后执行DB :: insert并输入INSERT ON DUPLICATE UPDATE查询(如下所示),将值替换为数组中的值:

$array = array(
    '1,1',//product_id,product_quantity
    '2,2','4,12',);

DB::insert('INSERT INTO products (product_id,product_quantity) VALUES (' . implode('),(',$array) . ') ON DUPLICATE KEY UPDATE product_quantity=VALUES(product_quantity)');

此查询将尝试将product_id和product_quantity插入到products表中.由于product_id已经存在,查询将更改为UPDATE,我们将我们想要的列product_quantity映射到.

(编辑:阜阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读