No index on n, no. Index might solve it yes, but it seems to me such a trivial 
optimization even without. Obviously it is not.

QUERY PLAN |

----------------------------------------------------------------------------------|

Limit (cost=1911272.10..1911272.12 rows=2 width=7) |

-> HashAggregate (cost=1911272.10..1911282.45 rows=1035 width=7) |

Group Key: cfi |

-> Seq Scan on bigtable (cost=0.00..1817446.08 rows=37530408 width=7)|

Klaudie

‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐
On Friday, August 28, 2020 1:59 PM, <luis.robe...@siscobra.com.br> wrote:

> Hi,
>
> If "n" is indexed, it should run quickly. Can you share the execution plan 
> for your query?
>
> ---------------------------------------------------------------
>
> De: "Klaudie Willis" <klaudie.wil...@protonmail.com>
> Para: "pgsql-general" <pgsql-general@lists.postgresql.org>
> Enviadas: Sexta-feira, 28 de agosto de 2020 8:29:58
> Assunto: Performance of "distinct with limit"
>
> Hi,
>
> Ran into this under-optimized query execution.
>
> select distinct n from bigtable; -- Lets say this takes 2 minutes
> select distinct n from bigtable limit 2 -- This takes approximately the same 
> time
>
> However, the latter should have the potential to be so much quicker. I 
> checked the same query on MSSQL (with 'top 2'), and it seems to do exactly 
> the optimization I would expect.
>
> Is there any way to achieve a similar speedup in Postgresql?
>
> Klaudie

Reply via email to