Database Query Indexing via Automatic Cross-Index Generation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing database query indexing methods are inefficient as they require manual specification of indexes, which is time-consuming, and can involve accessing multiple indexes, increasing processing time.

Innovation Solution

Automatically generating indexes and cross indexes from query functions specified in markup languages like XML, allowing for efficient data retrieval by accessing pre-compiled index lists, and updating indexes with write operations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If manual index specification is used, then query lookup speed is improved, but index creation time and complexity increase

Engineering Contradiction:
Improvequery lookup speedVSAvoidindex creation time
Core Design Contradiction:
SpeedVSLoss of time

Solution Approach 1:

The system automatically generates indexes by analyzing query patterns and frequency, eliminating the need for manual index specification. The database system self-determines which indexes to create based on observed query behavior, thereby reducing index creation time and complexity while maintaining query performance optimization.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system pre-generates indexes automatically based on analyzed query patterns before queries are executed. By performing index generation in advance based on query frequency analysis, the system prepares optimized access paths beforehand, improving query lookup speed without requiring manual intervention during operation.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If multiple indexes are accessed for complex queries, then query completeness is improved, but processing time increases

Engineering Contradiction:
Improvequery completenessVSAvoidprocessing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The system merges multiple individual indexes into a single composite index structure that can satisfy complex queries requiring multiple conditions. By combining index information for multiple fields into one integrated index, the system retrieves complete query results through a single index access rather than multiple separate index lookups, thereby maintaining query completeness while reducing processing time.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The generated composite indexes are designed to serve multiple query patterns simultaneously. A single index structure can handle various query combinations, making the index system more versatile and reducing the need to access multiple specialized indexes for different query conditions, thus improving processing efficiency while maintaining comprehensive query coverage.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Ease of operation

If automatic index generation is implemented, then manual specification effort is reduced, but system complexity increases

Engineering Contradiction:
Improveindex specification effortVSAvoidsystem complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system implements a feedback mechanism that monitors query patterns and automatically adjusts index generation decisions. By continuously analyzing query frequency and patterns, the system intelligently determines which indexes to create and maintain, automating the previously manual process without requiring complex manual configuration, thereby reducing operational effort while managing system complexity through adaptive automation.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS9424296B2Indexing of database queries
Publication Date: 2016.08.23 INFOBLOX INC
  • US9424296B2 patent drawing
  • US9424296B2 patent drawing
  • US9424296B2 patent drawing

AI summary

Making data available from a database is disclosed. Making data available includes specifying a query function having a query function name, wherein the query function includes a structure and a member, determining the structure and the member included in the query function, wherein the query function has a query function name and includes the structure and the member, creating an index for the structure on the member, and compiling the query function to be available to a user by invoking the query function name without the user having to specify the structure and the member. Retrieving data from a database is disclosed. Retrieving includes invoking a query function that specifies a plurality of structures and a value, accessing a cross index of the plurality of structures, and using the cross index to access the data.