jul*_*zer 5 php mysql sql laravel-4
我的MySQL数据库中有一个10000个产品的表.我想以最快的方式更新所有记录.我正在使用Laravel和MySQL.
为了更好的解决方案,我也可以改变技术 现在需要将近半小时来更新整个表格.
我想以最快的方式更新该表.我该怎么办?
UPDATE
我正在使用如下的Laravel模型
DB::table('products')->where('product_id',$product_id)->limit(1)->update(array('prodcut_quantity' => $prodcut_quantity));
Run Code Online (Sandbox Code Playgroud)
我将创建一个循环,将主键和产品数量添加到数组中,然后执行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)');
Run Code Online (Sandbox Code Playgroud)
该查询将尝试将INSERT
和product_id
写入product_quantity
表中products
。由于product_id
已经存在,查询更改为UPDATE
,我们映射我们想要的列product_quantity
。