Dear colleagues,
We want to partition the table:
- llattrdata
- Llattrblobdata.
because their size is currently very big and our DBA says that problems may arise in the event of further growth
The most optimal for us: table partitioning by date of the document creation, and sections by years or months.
But they are no fields with date that can be used for partitioning.
It would be possible to make a reference partitioning, but in these tables do not have foreign keys (which can be used for partitioning).
Could you advices us what algorithm can be used to partition?
Can we use the following algorithms and how critical it is?
Algorithm I:
1. Add CREATE_DATE column and a trigger (on INSERT) in llattrblobdata. The trigger will add SYSDATE insert a row into a table.
2. The current records fill by values from the dtreecore table data
3. Create a foreign key (one-to-many) llattrblobdata.ID-> llattrdata.ID
4. Make a reference partitioning CREATE_DATE field
Algorithm II:
1. Remove Nullable flag DTreeCore.CreateDate column
2. Add foreign keys to DTreeCore.DataId-> llattrdata.ID (One-to-many) and DTreeCore.DataId-> llattrblobdata.ID (one-to-one)
3. Make a reference to DTreeCore partitioning table by creation date
Algorithm III: (partition on LLATTRBLOBDATA.ID)
1. Create a foreign key (one-to-many) llattrblobdata.ID-> llattrdata.ID
2. Make a reference partitioning llattrblobdata.ID field