RE: Strategy for partitioning a huge OLTP table
Date: Wed, 29 Sep 2021 15:44:58 -0400
Message-ID: <273b01d7b56a$7cec9800$76c5c800$_at_rsiz.com>
To make a useful analysis we’d need to know at a minimum the relationship (if any) of the time course of insert to deletion. What makes a row a candidate for delete?
Then there is reporting: Is there any column set that would be useful for partition pruning with respect to reports?
If there is a relationship between time and becoming a candidate for delete, even a soft correlation such as reaching a “complete” status after a certain amount of time (usually) and that “complete” status allows a row to be considered for deletion, then you might consider adding a date of insertion column implicitly that is your partitioning.
Then you can used a slightly modified version of scaling to infinity such that when a time based insertion partition should be mostly ready for deletion, you copy out the “can’t be deleted yet” rows from that partition into a table and then do the partition exchange with the “keepers.”
Good luck.
mwf
From: oracle-l-bounce_at_freelists.org [mailto:oracle-l-bounce_at_freelists.org] On Behalf Of kunwar singh
Sent: Wednesday, September 29, 2021 4:22 AM
To: ORACLE-L
Subject: Strategy for partitioning a huge OLTP table
Hi Listers,
Can you please suggest to me a reference for deciding how to partition a online OLTP table which is 300GB currently and going to grow upto 1TB soon .
Roughly 300k deletes /hour . inserts 1M /hour. Table having 500M records so far.
other than ease of maintenance/purge records in a better way than delete, i dont see any other benefit of partitioning . But would like to hear your opinion.
DB version :12.2.0.1
The table doesnt have a date column worthy of partitioning .
--
Cheers,
Kunwar
--
http://www.freelists.org/webpage/oracle-l
Received on Wed Sep 29 2021 - 21:44:58 CEST