mysql批量update数据优化
作者:
萧格 | 来源:发表于
2018-07-20 21:17 被阅读0次
- 问题描述:有一张表
table_1
中有10W条数据,现在需要把字段field_1
的值做md5
加密后更新。
一条一条循环更新肯定是不行的,性能差不说,还容易造成数据库阻塞。
下面就来看看如何批量更新优化吧
- 查找所有记录
select id,field_1 from table_1;
,记录到变量$arr
中;
-循环拼接为一条更新语句
$sql = 'UPDATE table_1 SET fields_1 = CASE id ';
$ids = [];
foreach ( $arr as $v) {
$ids[] = $v['id'];
$sql .= ' when ' . $v['id'] . ' THEN ' .md5($v['field_1']);
}
$ids = join(',', $ids);
$sql = ' END WHERE id IN ($ids)';
本文标题:mysql批量update数据优化
本文链接:https://www.haomeiwen.com/subject/qqtcmftx.html
网友评论