首页 / MYSQL / mysql删除重复数据_MySQL
mysql删除重复数据_MySQL
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql删除重复数据_MySQL,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1464字,纯文字阅读大概需要3分钟。
内容图文
bitsCN.commysql删除重复数据
删除表内重复数据的一种解决方案:
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,这种方法效率不是很高,期待更有效率的方法.
bitsCN.com
内容总结
以上是互联网集市为您收集整理的mysql删除重复数据_MySQL全部内容,希望文章能够帮你解决mysql删除重复数据_MySQL所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。