一个大批量数据更新的问题
mysql一个表user,里面一个id主键,一个name是unique。
数据量为6000W,里面有3000W的数据name是带前缀标记 *** 的。
现在我想把所有前缀***都给去掉,但是去掉之后会重名的数据不处理。
想求一个最优的解决方案,谢谢。
比如
1
我可以create table temp as select name from user
然后再update user u set u.name = substring(u.name, 4) where u.name like 'm*m%'
and not exists (select id from temp t where t.name = substring(u.name, 4))
问题是一条语句更新这么多数据,靠谱不靠谱。
2.
写程序,一次处理update 1W条数据,update之前把将会产生重复的id给剔除,循环6000次