Database Query Optimizer Using Hash Table Value Grouping

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Query optimization in relational database systems is inefficient for large databases, particularly in decision support and data mining applications, where the penalty for selecting a suboptimal query is high, and existing techniques like query rewriting do not adequately reduce resource utilization.

Innovation Solution

A method is introduced to organize values with multiple alternative equality conditions by applying a function to each value, grouping them by result, and storing them in a hash table structure, allowing for efficient comparison and execution of database queries.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Loss of energy

If existing query rewriting techniques are used, then query execution time may be reduced, but resource utilization is not adequately improved

Engineering Contradiction:
Improveresource utilizationVSAvoidquery execution performance
Core Design Contradiction:
Loss of energyVSProductivity

Solution Approach 1:

The patent transforms query parameters by applying a function f() to values in alternative equality conditions, converting them into grouped parameters. This parameter transformation enables the system to organize and process query conditions more efficiently, reducing resource utilization while maintaining query execution performance through the grouped parameter structure.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent segments the set of alternative equality condition values into groups based on function results. By dividing the values into disjoint groups where each group contains values with the same function result, the system can process query conditions in a more structured manner, improving resource utilization efficiency.

Inventive Principle:
Principle #1Segmentation

2Loss of time

If multiple alternative equality conditions are processed using traditional methods, then query completeness is maintained, but processing time and resource consumption increase

Engineering Contradiction:
Improvequery processing timeVSAvoidquery condition evaluation accuracy
Core Design Contradiction:
Loss of timeVSReliability

Solution Approach 1:

The patent performs preliminary action by pre-computing the function results for all alternative equality condition values and organizing them into groups before query execution. This preliminary organization of values into groups based on function results enables faster query processing while maintaining accurate evaluation of all conditions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary structure (the grouped parameter organization) that mediates between the raw alternative equality conditions and the query execution process. This intermediary groups values by function results, creating a structured representation that enables efficient processing while preserving the semantic meaning of all original conditions.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS8527498B1Method and system for organizing values of alternative equality conditions
Publication Date: 2013.09.03 TERADATA US INC
  • US8527498B1 patent drawing
  • US8527498B1 patent drawing
  • US8527498B1 patent drawing

AI summary

A method, computer program, and computer network are disclosed for organizing values of multiple alternative equality conditions between a database column and a set of values. The method includes applying a function to each value to obtain a result for each value. The values are organized into groups where each group includes values with the same result. The values are stored according to the groups. A computer program or database system executes queries that include multiple alternative equality conditions between a database column and a set of values. The database system also includes an optimizer that is configured to apply a function to each value to obtain a result for each value. The values are organized into groups where each group includes values with the same result. The values are stored according to the groups.