User-Defined Index Rebuild via Row Identifier Mapping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

User-defined indexes in database systems are expensive to rebuild during partition maintenance operations such as split, merge, and move, as they require complex computations and rebuild from scratch, which is inefficient compared to native indexes.

Innovation Solution

A system and method that uses row identifier mapping to efficiently rebuild user-defined index partitions during partition maintenance operations by storing and reusing mapping information, allowing parallel processing and reducing the need for full index rebuilds by replacing old row identifiers with new ones.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If user-defined indexes are rebuilt from scratch during partition maintenance operations, then index consistency is maintained, but the time and computational resources required increase significantly

Engineering Contradiction:
Improveindex consistencyVSAvoidindex rebuild time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by capturing row identifier mappings during the partition maintenance operation itself, before the index rebuild is needed. The mapping information is stored in a temporary table during the partition split/merge/move operation, so when the index needs to be rebuilt, the mapping data is already available, eliminating the need for time-consuming full index reconstruction

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of rebuilding the entire index from scratch, the system creates a simplified copy or representation of the index by replacing old row identifiers with new ones using the pre-captured mapping information. This copying approach maintains index consistency while dramatically reducing rebuild time and computational resources

Inventive Principle:
Principle #26Copying

2Manufacturing precision

If user-defined indexes are rebuilt from scratch during partition maintenance operations, then accurate index data is ensured, but computational complexity and resource consumption increase

Engineering Contradiction:
Improveindex data accuracyVSAvoidrebuild process complexity
Core Design Contradiction:
Manufacturing precisionVSDevice complexity

Solution Approach 1:

The system introduces an intermediary mechanism - a temporary table storing row identifier mappings - that mediates between the partition maintenance operation and the index rebuild process. This intermediary captures the transformation of row identifiers during partition operations and provides this information to the index rebuild process, ensuring accuracy while simplifying the overall complexity

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system extracts only the essential information needed for index rebuilding - the row identifier mappings - from the partition maintenance operation. By taking out just this critical data and storing it separately, the system avoids the complexity of rebuilding the entire index structure while ensuring index data accuracy through the extracted mapping information

Inventive Principle:
Principle #2Taking out (Extraction)

3Reliability

If full index rebuild is performed during partition maintenance, then index consistency is maintained, but productivity during maintenance operations decreases

Engineering Contradiction:
Improveindex consistencyVSAvoidpartition maintenance throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by capturing row identifier mappings during the partition maintenance operation itself, before the index rebuild is needed. The mapping information is stored in a temporary table during the partition split/merge/move operation, so when the index needs to be rebuilt, the mapping data is already available, eliminating the need for time-consuming full index reconstruction

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Instead of performing a complete index rebuild, the system applies partial action by only updating the row identifier mappings in the index using the pre-captured mapping information. This partial update approach maintains index consistency while dramatically improving productivity during partition maintenance operations

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS7987164B2Method and system for speeding up rebuild of user-defined indexes during partition maintenance operations in the database systems
Publication Date: 2011.07.26 ORACLE INT CORP
  • US7987164B2 patent drawing
  • US7987164B2 patent drawing
  • US7987164B2 patent drawing

AI summary

A method, system, and computer program product provides improved performance for rebuild of user-defined indexes during partition maintenance operations (partition split, merge, and move). A method of maintaining a index of a partitioned database table comprises performing a partition maintenance operation on the partitioned database table wherein a plurality of rows of the partitioned database table are moved from one partition to another, storing mapping information for at least some of the plurality of moved rows, including an old mapping for each of the moved rows and a corresponding new mapping for each of the moved rows, and when rebuilding the index, replacing an old mapping in the index for each of the plurality of moved rows with the corresponding stored new mapping for each of the plurality of moved rows.