有人能解释下几句sql效率差异的原因吗? 特别是d和b原始表a 1600w数据,有7个字段,去重后1100w左右,分别用如下几种方式去重create table b like a;
a: insert into b select distinct * from a耗时22分钟左右b: insert into b select * from a group a.* order by null;
耗时22分钟左右
c: b表创建主键
insert ignore into b select * from a
耗时 16分钟d: alter table b add column cou int;insert into b select *, count(1) from a group a.* order by null;
耗时11分钟。
a: insert into b select distinct * from a耗时22分钟左右b: insert into b select * from a group a.* order by null;
耗时22分钟左右
c: b表创建主键
insert ignore into b select * from a
耗时 16分钟d: alter table b add column cou int;insert into b select *, count(1) from a group a.* order by null;
耗时11分钟。
你的SQL语句不是标准的SQL语句
不是标准sql??
除了group by字句懒得7个字段都写出来,其他都是可以直接运行的。
耗时11分钟。
这个显然最快。
我想知道原因,为什么加了count(1)就快了那么多。
执行计划看上去没什么差别。