Search Postgresql Archives

SV: design partioning scheme for selecting from latest partition

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

 





>Fra: Francisco Olarte <folarte@xxxxxxxxxxxxxx> 
>Sendt: 22. marts 2021 20:04
>Til: Niels Jespersen <NJN@xxxxxx>
>Cc: pgsql-general@xxxxxxxxxxxxxxxxxxxx
>Emne: Re: design partioning scheme for selecting from latest partition
>
>Niels:
>
>On Mon, Mar 22, 2021 at 3:40 PM Niels Jespersen <NJN@xxxxxx> wrote:
>...
>> -- Then I want to be able to do this wothout scanning all partitions for the highest version number.
>>
>> select s.* from s where s.version = (select max(version) from s);
>
>> I could add an index on the version column. But the only use would be to the newest partition, so that seems a bit like overkill, indexing 100 of milliomns of rows.
>
>Without an index, or some caching, you would need to scan partitions.
>...
>Even if you can do something like that, without an index you will need a full scan, or do some trigger magic and keep a cache ( just keep versio, count(*) on a table and maintain it ). If your partitions are ordered, you can always keep the last one indexed, or if you know versions do not decrease, you may keep things cached. This seems to be the kind of problem where the generic solution is hard but a little insider knowledge can accelerate it a lot.
>
>Regards.
>   Francisco Olarte.

Thank you Francisco

I think I will revisit the whole design. Better do it right. 

Niels





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]

  Powered by Linux