>Fra: Francisco Olarte <fola...@peoplecall.com> 
>Sendt: 22. marts 2021 20:04
>Til: Niels Jespersen <n...@dst.dk>
>Cc: pgsql-general@lists.postgresql.org
>Emne: Re: design partioning scheme for selecting from latest partition
>
>Niels:
>
>On Mon, Mar 22, 2021 at 3:40 PM Niels Jespersen <n...@dst.dk> 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

Reply via email to