Gregory Stark wrote:
> tmp <skrald@amossen.dk> writes:
>
>> If the input is "sufficiently" large and the LIMIT threshold "sufficiently"
>> small, maintain the DISTINCT output by hashning while traversing the input and
>> stop when the LIMIT threshold is reached. No sorting required and *at* *most*
>> one read of input.
>
> You mean like this?
>
> postgres=# explain select distinct x from i limit 5;
> QUERY PLAN
> -------------------------------------------------------------------
> Limit (cost=54.50..54.51 rows=1 width=304)
> -> HashAggregate (cost=54.50..54.51 rows=1 width=304)
> -> Seq Scan on i (cost=0.00..52.00 rows=1000 width=304)
> (3 rows)
Does that know to stop scanning as soon as it has seen 5 distinct values?
-- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com