后端如何选择去重方案?
1.distinct
2.group by
3.代码去重
GROUP BY
,因为需要扫描整个数据集。COUNT
, SUM
, AVG
等)使用,提供更灵活的数据处理能力。对于大数据集,性能通常优于 DISTINCT
,尤其是当有索引时。综合来看:
DISTINCT
是一个快速且易于理解的选择。GROUP BY
提供了更高的灵活性和性能优势。4 回答1.5k 阅读✓ 已解决
4 回答1.3k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
8 回答1.3k 阅读
1 回答2.6k 阅读✓ 已解决
3 回答962 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
去重看你要开发速度还是响应速度
如果是查询 mysql读取到磁盘的时间是多少 (根据我的经验 , 通过row行数来分析是较为准确的),
group by是否有分组优化 , 如果没有会建立临时表吗 ,
最后到代码这边 , 是不是要走网络 , 现在的网速很慢 , cpu和磁盘通过usb连接都会超级影响速度, 更何况是通过更慢的网络 , 到代码中 , 如果你部署在不同的电脑上
mysql的速度是靠不读取数据到内存 , 只通过索引 , 来快速查询 .
总结 sql中去重是最快的 .