mysql 插入去重,以及设置联合唯一索引问题

  最近在开发中遇到一个这样的问题:



                  从340万条数据中查找出三个字段是重复的值,然后删除这些重复的字段值并保留一条。其实这个功能在mysql中已经有这样的命令了。但是xx要求用程序实现,我了个去啊,高效的东西不用,非得自己搞。 然后简单想了下实现逻辑。 先用select语句按照字段分组查出重复的三字段,然后建张临时表,将uid 存储一份,最后删除原表中的所有数据,再将存储的一份插入。

                     

                问题是解决了,但是问题又来了,主要问题是:在插入时插入的数据又有相同的,这样在插入时会报 dumplicate xx error.  解决问题的方法是:insert ignore into。

         另外在使用时还有一个问题:ALTER IGNORE TABLE t ADD INDEX does not ignore in fast index creation  .这个不起作用。


         mysql 官网,bug#40344里面提到了一个解决方法:workaround is to first run "set session old_alter_table=1;"试了一下,确实可以。

         简单的在此过个笔记。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值