Database Index Optimization via Operation Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Determining an optimal set of indexes for improving database system performance is challenging due to the size and complexity of modern databases, as adding more indexes can increase memory usage and degrade performance for operations like INSERT, UPDATE, and DELETE.

Innovation Solution

A database system collects and analyzes trace data to identify candidate indexes, combinations, and consolidated indexes that improve performance by partitioning database operations based on accessed tables, estimating cost contributions, and recommending the most effective indexes to add.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If more indexes are added to improve database query performance, then query speed is improved, but memory usage increases and performance of INSERT, UPDATE, and DELETE operations degrades

Engineering Contradiction:
Improvequery speedVSAvoidmemory usage
Core Design Contradiction:
SpeedVSQuantity of substance

Solution Approach 1:

The patent segments the database operations into different categories (SELECT, INSERT, UPDATE, DELETE) and analyzes their cost contributions separately. This allows the system to identify which specific operation types benefit from indexing without unnecessarily indexing all operations, thus improving query speed while controlling memory usage.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically adjusts indexing parameters based on workload analysis. By collecting trace data and calculating cost contributions of different operations, the system determines optimal indexing parameters that balance query performance improvement against memory consumption and write operation performance degradation.

Inventive Principle:
Principle #35Parameter changes

2Speed

If more indexes are added to improve database query performance, then query speed is improved, but performance of INSERT, UPDATE, and DELETE operations degrades

Engineering Contradiction:
Improvequery speedVSAvoidperformance of INSERT, UPDATE, and DELETE operations
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The patent applies partial action by selectively adding indexes only for operation types that benefit most from them. By analyzing cost contributions and identifying that SELECT operations typically benefit more from indexes than INSERT, UPDATE, or DELETE operations, the system adds indexes partially rather than comprehensively, thus improving query speed while minimizing degradation of write operations.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system changes the indexing parameter (whether to create an index) based on the type of database operation and its cost contribution. This dynamic parameter adjustment ensures that indexes are created only when they provide net performance benefit, balancing query performance improvement against write operation performance.

Inventive Principle:
Principle #35Parameter changes

3Productivity

If the system analyzes all possible index combinations to find the optimal set, then performance optimization is improved, but system complexity increases

Engineering Contradiction:
Improveperformance optimizationVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent extracts and focuses on the most critical factor for index optimization: cost contribution analysis of different database operations. By taking out this key element and building the optimization strategy around it, the system avoids the complexity of analyzing all possible index combinations while still achieving effective performance optimization.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system performs self-service by automatically analyzing its own workload through trace data collection and cost contribution calculation. This automated analysis eliminates the need for complex manual index optimization processes and reduces system complexity while maintaining effective performance optimization.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS8515927B2Determining indexes for improving database system performance
Publication Date: 2013.08.20 IDERA INC
  • US8515927B2 patent drawing
  • US8515927B2 patent drawing
  • US8515927B2 patent drawing

AI summary

Methods and systems for identifying one or more indexes are described. A system can collect a set of database operations that were performed during a given time window. Next, the system can partition the set of database operations based on a set of database tables that were accessed by the set of database operations. Then, for each database table in the set of database tables, the system can determine a set of indexes that are candidates for improving database system performance. Next, based on the candidate indexes, the system can identify one or more indexes, one or more combinations of indexes, and/or a consolidated index that improve overall database system performance.