Consider the "LIMIT 1" optimization with parallel DISTINCT
authorDavid Rowley <drowley@postgresql.org>
Wed, 31 Jan 2024 04:22:02 +0000 (17:22 +1300)
committerDavid Rowley <drowley@postgresql.org>
Wed, 31 Jan 2024 04:22:02 +0000 (17:22 +1300)
commitb588cad688823b1e996ce05af4d88a954c005a3a
tree41ec222b7f8ad9ca83b80bd9be18e8815608fc60
parent3e91dba8b079c02dc5204108c7e797b402c75779
Consider the "LIMIT 1" optimization with parallel DISTINCT

Similar to what was done in 5543677ec for non-parallel DISTINCT, apply
the same optimization when the distinct_pathkeys are empty for the
partial paths too.

This can be faster than the non-parallel version when the first row
matching the WHERE clause of the query takes a while to find.  Parallel
workers could speed that process up considerably.

Author: Richard Guo
Reviewed-by: David Rowley
Discussion: https://postgr.es/m/CAMbWs49JC0qvfUbzs-TVzgMpSSBiMJ_6sN=BaA9iohBgYkr=LA@mail.gmail.com
src/backend/optimizer/plan/planner.c
src/test/regress/expected/select_distinct.out
src/test/regress/sql/select_distinct.sql