On Wed, 2025-11-26 at 18:50 +0530, atma ram wrote:
> We have a table that is approximately 1.6 GB in size. Query performance has 
> started to degrade.
> Although we have multiple indexes, the large table size is still causing 
> performance issues.

1.6 GB is too small for partitioning.

> We are planning to partition the table on the primary key. This is an OLTP 
> system, and there
> are around 100 queries that access this table. About 80 of these queries use 
> the primary key
> and will therefore benefit directly from the partition key once we implement 
> partitioning.

If a table uses the primary key, I cannot see how it could cause performance 
issues.

I expect that these queries will become slightly *slower* if you partition the 
table,
because of the overhead of partition pruning.

> However, the remaining 20 queries do not use the primary key; they rely on 
> other indexed columns.
> Our question is: after partitioning the table, and after creating the 
> necessary indexes on
> each partition, what happens to the performance of those 20 queries that do 
> not use the partition key?
> – Will their performance degrade?

Very likely yes, though perhaps only slightly.

> – Will it remain the same as before partitioning?
> – Is there any chance it will improve?

That is unlikely, but possible, for example if the query can choose a faster 
sequential
scan on some partitions, instead of a slower index scan on the whole table.

> Is there any benchmarking, documentation, or reference material that can help 
> demonstrate
> how partitioning will affect the performance of the 20 queries that do not 
> use the partition key?
> This information is critical for us before proceeding with the partitioning 
> strategy.

The only good way to tell is to implement it on a test database and try it.

But as I said initially, with a 1.6 GB table patritioning is pointless.

Examine the performance bottleneck with EXPLAIN (ANALYZE, BUFFERS) and try to 
improve
your queries.

Yours,
Laurenz Albe


Reply via email to