建张表
1 | CREATE TABLE `test_a` ( |
存储过程
1 | create procedure p_test_a(pa int(11)) |
生成数据call p_test_a(100000);
不加索引
1 | set profiling=1; |
加索引
1 | ALTER TABLE `test_a` ADD INDEX `num_index` (`num`) ; |
总结
- 加了索引之后 distinct 比没加索引的 distinct 快了 27 倍。
- 加了索引之后 group by 比没加索引的 group by 快了 50 倍。
再来对比 :distinct 和 group by
不管是加不加索引 group by 都比 distinct 快。
因此使用的时候建议选 group by