Dynamic Query Range Adjustment for Database Search Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing query optimization methods for large databases are inefficient, particularly when data is frequently updated, as pre-computed search results become outdated and cache failures can lead to system overload, and different applications have varying filtering needs that pre-computed results cannot meet.

Innovation Solution

Implement a system that includes a query server processing user queries, normalizing them, and using entity IDs, topic IDs, and timestamp fields to index data, allowing for efficient retrieval of recent data clusters while dynamically adjusting query ranges based on processing needs and storing query ranges for future use.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If pre-computed search results are stored in a database or cache, then query speed is improved, but reliability deteriorates when data is frequently updated or cache fails

Engineering Contradiction:
Improvequery speedVSAvoidreliability of search results
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The system pre-computes and stores query ranges and results in advance for frequently queried data, allowing rapid retrieval without re-executing full searches. This preliminary action caches both the computed results and the parameters used to compute them, enabling fast serving of identical or similar queries while maintaining the ability to handle updates through range adjustments.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If pre-computed search results are used, then query processing time is reduced, but adaptability worsens when different applications have varying filtering needs

Engineering Contradiction:
Improvequery processing timeVSAvoidadaptability to different application needs
Core Design Contradiction:
Loss of timeVSAdaptability or versatility

Solution Approach 1:

The system segments the search space into multiple query ranges, each optimized for specific filtering needs and time periods. Instead of computing one comprehensive result set, the search is divided into multiple smaller range queries that can be independently optimized and cached. This allows different applications to select and combine appropriate ranges based on their specific filtering requirements while still benefiting from pre-computation.

Inventive Principle:
Principle #1Segmentation

3Measurement precision

If complex queries with multiple filters are executed, then measurement precision is improved, but productivity deteriorates due to increased processing time

Engineering Contradiction:
Improveprecision of search resultsVSAvoidquery processing productivity
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system applies partial action by computing and caching results for specific query ranges with particular filter combinations, rather than pre-computing all possible filter combinations. When a complex query arrives, the system combines results from multiple pre-computed partial ranges, achieving high precision for the specific query while avoiding the excessive processing cost of pre-computing every possible filter combination.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS9613088B2Systems and methods for query optimization
Publication Date: 2017.04.04 YAHOO ASSETS LLC
  • US9613088B2 patent drawing
  • US9613088B2 patent drawing
  • US9613088B2 patent drawing

AI summary

The present disclosure relates to systems and methods for performing search queries and for query optimization. In accordance with certain embodiments, a query from a client may be received at a server, and a default query range (e.g., a period of time, or other factor) may be applied to the query. The query may be executed in a first execution using an index comprising a category of information stored in the database and subject to the default query range. If the number of query results from the first execution is outside a predetermined range, then the query range may be adjusted to obtain a number of query results closer to or within the predetermined range. Additionally, the query may be executed in a second execution using the index comprising the category of information stored in the database and subject to the adjusted query range. The query results obtained from the second execution of the query may be sent to the client.