Correct. This is documented in depth: DISTINCT sorts the results first.
The article's use case seems to imply the author did not know about GROUP BY, nor does it imply the author knew about indexes, nor ANALYZE. Postgres 18's new skip scan indexing also could help here, so ensuring the planner chooses that could help.
Loose index scan is made for this https://dev.mysql.com/doc/refman/8.0/en/group-by-optimizatio...
Postgres doesn't have it yet https://wiki.postgresql.org/wiki/Loose_indexscan
"Postgres SELECT DISTINCT Does Not Scale"
Correct. This is documented in depth: DISTINCT sorts the results first.
The article's use case seems to imply the author did not know about GROUP BY, nor does it imply the author knew about indexes, nor ANALYZE. Postgres 18's new skip scan indexing also could help here, so ensuring the planner chooses that could help.
Would GROUP BY fix the issue?
The article explains that skip scan doesn't do anything here.
> nor does it imply the author knew about indexes, nor ANALYZE
Indexes were talked about a lot, and they explicitly mentioned looking at the query plan.
Did you even read the article? They show that a perfect index for their query didnt help because Skip Scan is currently not used for DISTINCT queries.