关于mysql数据分片及批量更新

博主工作中发现网上关于MySQL数据库分片及数据更新的回答较少,分享经验。指出不同分片相当于不同表,复杂查询和更新操作中部分限制条件行不通,提出用group by查重复字段存储后全量更新,介绍批量更新方法,全量更新后按需操作单条记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

工作时遇到的问题,看网上关于mysql数据库分片及数据更新的回答比较少,就简单写一写(主要我不太会给别人讲问题...),根据我的经验来看不同分片就相当于不同表!一般做复杂的查询特别是对数据的更新操作,group by having,,update ...limit 或者加限制谁等于谁这种限制条件都是行不通的,group by having可以使用一次做查询操作,比如select ..,count(1) cnt from 表 group by 字段,字段.. having cnt>1,这种可以查到重复的记录,我想到的解决办法就是用group by先查到重复的字段,存储下来,再根据重复的字段进行全量更新,这就涉及批量更新的问题,网上比较多的回答是for里面写update,这种方法我是没试通的,还有一种方法是用on duplicate key update,自行百度,可以实现批量更新,全量更新后如果需要保留一条再根据之前获取的重复数据字段获取到一条重复记录的主键,再根据主键对这条记录进行操作.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值