I have a table in a PostgreSQL database containing about 100m records that's mostly read-only with a few monthly writes to update new data.
It has over 300 columns, and is heavily indexed for specific queries, but it's becoming difficult to maintain quick read performance as the data grows and as user queries change.
The table is about equally divided by a column with 20 unique values, and that value is almost always used as a filter in most queries, so I'm investigating the cost/benefit of migrating that table to a partitioned table based on that column.
However, I'm reading that the process of migrating an existing table to partitioning can be very complicated, especially if you have foreign key references, which I do.
So before I invest the time, is there a way to ballpark the performance change of partitioning a table?