Database Index Selection Based on Column Data Characteristics

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional database index types are inflexible and lead to poor query performance and high maintenance costs due to the need for manual optimization of indexes based on user access logs, which is inefficient and labor-intensive.

Innovation Solution

An index establishment method that dynamically determines the need for and type of index for each column based on usage statistics within a preset time threshold, selecting from B-Tree, Hash, and Bitmap indexes, and automatically adjusts index types according to data characteristics, allowing for flexible and efficient index management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of manufacture

If B-Tree indexes are used for all columns, then the database structure is simple and easy to maintain, but query performance deteriorates for certain data types and access patterns

Engineering Contradiction:
Improveease of index maintenanceVSAvoidquery performance
Core Design Contradiction:
Ease of manufactureVSReliability

Solution Approach 1:

The patent applies local quality by selecting different index types for different columns based on their specific characteristics. Instead of using a uniform B-Tree index for all columns, the system analyzes each column's data type, access patterns, and query frequency to determine the most suitable index type (B-Tree, Hash, Bitmap, or Inverted Index) for that specific column, thereby optimizing query performance for diverse data scenarios.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent implements dynamics by making the index type selection adaptive and changeable over time. The system continuously monitors query logs and access patterns, automatically adjusting the index type for each column based on changing data characteristics and query workloads. This dynamic adjustment allows the database to maintain optimal performance as data distributions and access patterns evolve.

Inventive Principle:
Principle #15Dynamics

2Reliability

If manual log analysis is performed to optimize indexes, then index configuration can be customized, but operational complexity and maintenance burden increase significantly

Engineering Contradiction:
Improveindex optimization qualityVSAvoidoperability and maintainability
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent applies self-service by enabling the database system to automatically analyze query logs, identify optimization opportunities, and adjust index configurations without human intervention. The system autonomously monitors access patterns, evaluates query performance, and makes intelligent decisions about which columns need indexes and what index types to use, eliminating the need for manual log analysis while maintaining high optimization quality.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent implements feedback by continuously monitoring query performance and access patterns, then using this information to automatically adjust index configurations. The system collects feedback from actual query workloads, analyzes which columns are frequently accessed and what types of queries are performed, and uses this feedback to dynamically optimize index types and configurations, creating a closed-loop optimization system.

Inventive Principle:
Principle #23Feedback

3Reliability

If multiple index types are supported for different columns, then query performance for diverse data types improves, but system complexity and resource consumption increase

Engineering Contradiction:
Improvedata retrieval efficiencyVSAvoidsystem complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies local quality by implementing multiple index types only where needed based on specific column characteristics and query patterns. Rather than supporting all index types for all columns (which would maximize complexity), the system selectively applies appropriate index types to specific columns based on their data types, access patterns, and query requirements, thereby improving retrieval efficiency while minimizing unnecessary system complexity.

Inventive Principle:
Principle #3Local quality

4Speed

If indexes are established for all columns, then query speed improves, but maintenance costs and resource consumption increase

Engineering Contradiction:
Improvequery speedVSAvoidmaintenance cost
Core Design Contradiction:
SpeedVSLoss of energy

Solution Approach 1:

The patent applies partial action by selectively creating indexes only for columns that actually require them based on query analysis. Instead of establishing indexes for all columns (excessive action), the system identifies and indexes only the specific columns that are frequently accessed or used in query conditions, thereby achieving sufficient query speed improvement while avoiding the unnecessary maintenance overhead of indexing every column.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentEP3385864B1Method and device for establishing index
Publication Date: 2024.01.03 ALIBABA GROUP HOLDING LTD
  • EP3385864B1 patent drawingFigure 1~2
  • EP3385864B1 patent drawingFigure 3~4
  • EP3385864B1 patent drawingFigure 5~6

AI summary

The present invention discloses an index establishment method and device. It is first determined, according to the index status information of a column in a database within a preset time threshold, whether an index needs to be established for the column. An index type is determined according to the data information of the column and an index is established for the column according to the index type when it is determined that an index needs to be established. Therefore, an index can be dynamically established for each column in a database, and a suitable index type can be selected according to the actual case, so that data retrieval efficiency can be effectively improved under the premise of reducing resource consumption and labor input.