Re: select max(field) from table much faster with a group by clause?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Palle Girgensohn <girgen@xxxxxxxxxxxx> writes:
> When running
>  select max("when") from login where userid='userid'
> it takes a second or two, but when adding "group by userid" the planner 
> decides on using another plan, and it gets *much* faster. See example below.

It's only faster for cases where there are few or no rows for the
particular userid ...

> Number of tuples per user varies from zero to a couple of thousands.

The planner is using an intermediate estimate of 406 rows.  You might be
well advised to increase the statistics target for login.userid --- with
luck that would help it to choose the right plan type for both common
and uncommon userids.

			regards, tom lane

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?

               http://www.postgresql.org/docs/faq

[Postgresql General]     [Postgresql PHP]     [PHP Users]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Yosemite]

  Powered by Linux