We have 4 instances RAC on 11.1.0.7 and ASM.
We have multiple tables having billions of records and need to decide in how many partition a table should be partitioned to get the optimum performance.
In the given situation I have below 2 questions.
1. Which column/s (type) are best candidate for partition?
2. Which type of partition is best?
Is there any already proved method with statistics to decide the same?
Oracle Database
Last Comment
YBSolutions
8/22/2022 - Mon
Walter Ritzel
Using my previous experience and most of the examples found in the web, the best fields for partition keys are date fields. What will be really tricky is to determine the best size for the partition: It will be a week, 2 weeks, a month, a quarter, or even a year? The answer for that lay upon how are you going to query this table, the most common date filter.... because for the query be fast, the objective is to touch the less number of partitions possible.
On the type, I would say best is the ones that generates new partitions automatically.
Partitions could be done by other fields, like numeric ones, but then the strategy seems to be arbitrary, because separate the data in numeric ranges, in terms of query does not help much to select the least possible number of partitions.
YBSolutions
ASKER
Could you provide me some links or metalink note id?
So that I could explore more with examples.
1. Which column/s (type) are best candidate for partition?
Depends upon the partition key of the table (data), your needs. I.e. if you have a table that
gets partitioned by Region (europe, Asia, Africa, America, Australia) then you have a 5 partitions in a list partitions., then you can further partition these 5 into range partition or so forth. But the partitioning columns are always the data depended.
Then you can decided whether partitioning the table for performance is worth or not for each table.
2. Which type of partition is best?
Again!! It depends upon your data. Range Partition (with DSS/BI) systems is very popular mostly with date. I.e. you keep a rolling window of last 7 years data (for HIPAA) while each month (after ETL) you archive the oldest partition.
For an OLTP inventory system product Id ragne or Price could be partition.
On the type, I would say best is the ones that generates new partitions automatically.
Partitions could be done by other fields, like numeric ones, but then the strategy seems to be arbitrary, because separate the data in numeric ranges, in terms of query does not help much to select the least possible number of partitions.