`

mysql删除重复数据

 
阅读更多

 

删除表内重复数据的一种解决方案:

 

Create Table: CREATE TABLE `tt` (

  `id` int(11) DEFAULT NULL,

  `name` varchar(30) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8

 

200万的数据

100万 id从1到100w name是zz

100条 id从1到100 name是zz

100万 id从1到100w name是mike

100条 id从1到100 name是mike

 

存储过程:

 

新增sizes+1条数据,name为params
CREATE PROCEDURE pro_insert2(in sizes int,in params varchar(30))
begin
declare i int;
start transaction;
set i = 0;
while i<=sizes do
insert into tt values(i,params);
set i=i+1;
end while;
commit;
end
 
mysql命令行操作:插入测试数据
 
call pro_insert2(1000000,'zz');
call pro_insert2(100,'zz');
call pro_insert2(1000000,'mike');
call pro_insert2(100,'mike');
 

mysql> select count(*) from tt;

+----------+

| count(*) |

+----------+

|  2000204 |

+----------+

1 row in set (0.00 sec)

 

Create Table: CREATE TABLE `tt2` (

  `id` int(11) DEFAULT NULL,

  `name` varchar(30) DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8

1 row in set (0.00 sec)

 

mysql> insert into tt2 (select distinct * from tt);

Query OK, 2000002 rows affected (51.55 sec)

Records: 2000002  Duplicates: 0  Warnings: 0

 

 

 

mysql> drop table tt;

Query OK, 0 rows affected (0.10 sec)

 

 

mysql> alter table tt2 rename tt;

Query OK, 0 rows affected (0.09 sec)

 

 

mysql> select count(*) from tt;

+----------+

| count(*) |

+----------+

|  2000002 |

+----------+

1 row in set (2.54 sec)

 

到此OK,这种方法效率不是很高,期待更有效率的方法

0
1
分享到:
评论

相关推荐

    MySQL删除重复记录

    ### MySQL删除重复记录 在MySQL中,重复记录可能由于各种原因而出现,比如数据导入错误、系统故障或人为操作失误等。这些重复记录不仅浪费存储空间,还可能导致查询结果不准确,因此及时删除它们是非常必要的。 ##...

    MYSQL删除重复数据的简单方法

    在MySQL中,删除重复数据是一项常见的数据库维护任务。在标题和描述中提到的问题是尝试使用一个SQL查询来删除具有相同值的记录,但遇到了错误。下面将详细解释这个问题,并提供几种有效的方法来处理MySQL中删除重复...

    mysql查找删除重复数据并只保留一条实例详解

    本文将详细介绍如何在MySQL中查找并删除重复数据,同时只保留其中一条,具体以实例进行解析。 首先,假设我们有一个名为`test`的表格,包含以下字段:`school_id`、`school_name`、`total_student`和`test_takers`...

    Mysql删除重复数据保留最小的id 的解决方法

    在MySQL数据库管理中,有时我们需要清理表中的重复数据,但...总之,删除重复数据并保留最小ID是一种常见的数据库维护任务,但需要注意正确性和性能。在执行此类操作时,应充分测试,并考虑并发情况和可能的性能影响。

    删除MySQL重复数据的方法

    本文实例讲述了删除MySQL重复数据的方法。分享给大家供大家参考。具体方法如下: 项目背景 在最近做的一个linux性能采集项目中,发现线程的程序入库很慢,再仔细定位,发现数据库里面很多冗余数据。因为在采集中,...

    mysql多字段删除重复数据保留id最大的.txt

    mysql多字段删除重复数据保留id最大的.txt

    MySQL 删除数据库中重复数据方法小结

    在MySQL数据库管理中,删除重复数据是一个常见的需求,特别是在数据导入、同步或用户输入错误时。处理这种情况需要谨慎,以确保不会丢失重要信息。本文将详细介绍几种常见的删除重复数据的方法。 1. **基础方法:...

    MySQL 查询重复内容只显示一条

    4. **删除重复数据**:如果你希望彻底删除重复数据,只保留一条,可以使用`DISTINCT`关键字创建一个新的表,或者使用`DELETE`语句结合子查询。但请注意,删除操作应谨慎进行,以免丢失重要信息。例如: ```sql ...

    MySQL中删除重复数据的简单方法

    在MySQL数据库管理中,删除重复数据是一个常见的需求,特别是在数据清洗和数据分析时。传统的删除重复数据的方法,如使用`NOT IN`或`DISTINCT`,可能会导致效率低下,特别是当处理大量数据时。本文将介绍一种高效的...

    MySQL中如何处理重复数据(Duplicate)?

    MySQL 中处理重复数据(Duplicate)的方法 MySQL 中处理重复数据(Duplicate)的主要方式是使用 INSERT INTO ... ON DUPLICATE KEY UPDATE 语句或 REPLACE INTO 语句。下面是这两种方法的详细解释: 一、INSERT ...

    MySQL查询重复数据(删除重复数据保留id最小的一条为唯一数据)

    本文主要探讨如何查询并删除MySQL中的重复数据,同时保留每个重复组中ID最小的一条记录。 首先,我们需要找到表中的重复数据。假设我们有一个名为`brand`的表,其中包含品牌名称`brandName`和其他字段,而我们想要...

    很全面的MySQL处理重复数据代码

    MySQL处理重复数据是一个常见的数据库管理任务,涉及到数据的完整性和一致性。本文将详细介绍如何在MySQL中防止、统计和过滤重复数据。 首先,防止表中出现重复数据是确保数据质量的关键步骤。在MySQL中,可以通过...

    mysql优化小技巧之去除重复项实现方法分析【百万级数据】

    本文实例讲述了mysql优化小技巧之去除重复项实现方法。分享给大家供大家参考,具体如下: 说到这个去重,脑仁不禁得一疼,尤其是出具量比较大的时候。毕竟咱不是专业的DB,所以嘞,只能自己弄一下适合自己去重方法了...

    MySQL 处理重复数据的方法(防止、删除)

    处理MySQL中的重复数据涉及多个层面,包括在设计阶段通过设置主键和唯一索引来预防,使用`INSERT IGNORE`或`REPLACE INTO`来处理插入时的重复,以及利用`GROUP BY`, `HAVING`, `DISTINCT`等查询构造来查找和删除重复...

    shell脚本操作mysql数据库删除重复的数据

    由于每次执行只删除重复数据的一条,需要重复执行,如果本轮没有数据被删就OK #!/bin/sh # delete all company's duplicate uid MYSQL_BIN_PATH=/data/mysql/server/mysql_3306/bin MYSQL_SOCK_PATH=/data/mysql/...

    Mysql删除重复的数据 Mysql数据去重复

    总之,MySQL提供了多种方法来查询和删除重复数据。根据具体需求和数据量,选择合适的方法并进行适当的优化,可以有效地维护数据的整洁和一致性。在处理大量数据时,务必谨慎操作,确保数据安全。

    mysql删除重复行的实现方法

    这种方法适用于那些有明确唯一标识符的表,能够有效地删除重复数据,保持数据的一致性和准确性。 最后,如果你在实际操作中遇到任何问题或者有其他疑问,欢迎留言讨论,我们会尽我们所能提供帮助。感谢你对我们的...

Global site tag (gtag.js) - Google Analytics