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

来源:互联网 发布:反射原理java 编辑:程序博客网 时间:2024/06/05 18:22

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



                  从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 0
原创粉丝点击