如何使用DISTINCT优化SQL查询并先获取



我正在尝试使用查询SELECT DISTINCT col_A from table_name fetch first 5 rows only;获取前5个不同的行

但是这个表有数百万行,所以使用distinct是昂贵的,因为它只扫描整个表的5行,花费了很多时间,对我来说大约是200秒

是否有解决方法或子查询?

这里的问题是,除非检查所有其他行,否则您不知道一行是否唯一。我相信您唯一的解决方案是对行进行索引,以便将不可区分的行索引在一起。这可能会在搜索时为您带来一些效率,但在插入数据时会付出代价。

最新更新