Re: efficiency random values / sequential ID values in indexes

From: Ron Johnson <ronljohnsonjr(at)gmail(dot)com>
To: "pgsql-generallists(dot)postgresql(dot)org" <pgsql-general(at)lists(dot)postgresql(dot)org>
Subject: Re: efficiency random values / sequential ID values in indexes
Date: 2024-04-15 12:48:58
Message-ID: CANzqJaD170-1zKXm3M3TwVSPEPeDKh3FuvRcc-ZJV3H2Aa-Ggw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Mon, Apr 15, 2024 at 6:05 AM Sanjay Minni <sanjay(dot)minni(at)gmail(dot)com> wrote:

> Hi
>
> Is there any appreciable difference in using random values or sequential
> values in indexes
>
> in a multi tenanted application there is a choice that the single field
> ID's value is totally random / UUID or the numbers are created with a
> prefix of the tenant. Since all access will be within a tenant only, will
> it make any performance difference between using purely random values vs
> <tenant no prefix part>+<random value>.
>

Two benefits of <tenant no prefix part>+<random value>:

1. In a non-partitioned table, it gives your index "locality of data": all
of customer X's record pointers are in *This* subtree. Makes buffers more
efficient when a customer runs reports. Bonus points if you then regularly
CLUSTER using that table.
2. Makes table partitioning by <tenant prefix> much easier. That also
enhances locality of data.

Just make sure that the field ID is BIGINT...

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Nicolas Seinlet 2024-04-15 14:25:47 Re: Failing streaming replication on PostgreSQL 14
Previous Message Ron Johnson 2024-04-15 12:36:42 Re: Failing streaming replication on PostgreSQL 14