美文网首页
mysql批量update数据优化

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