Database Query Execution Plan Caching via Factorized Strings

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional database management systems (DBMS) face inefficiencies in data processing speed due to the generation of new execution plans for similar queries and the separate execution of query results, leading to reduced system efficiency.

Innovation Solution

A method and system that generate an execution plan based on a factorized character string from the query's execution value list, store this plan and the corresponding identifier in memory, and reuse them for subsequent similar queries, reducing the need for new plan generation and improving memory resource usage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a conventional DBMS generates a new execution plan for each query, then the system can handle diverse query requirements, but the data processing speed decreases due to repeated plan generation

Engineering Contradiction:
Improvedata processing speedVSAvoidtime for execution plan generation
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by generating execution plans in advance for factorized character strings and storing them in memory. When a query arrives, the system checks if a pre-generated execution plan exists for the factorized version of the query, eliminating the need for real-time plan generation and thus improving data processing speed while reducing time loss.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If a conventional DBMS generates separate execution plans for similar queries with different execution value lists, then each query can be executed accurately, but system efficiency decreases due to redundant plan generation

Engineering Contradiction:
Improvesystem efficiencyVSAvoidcomplexity of execution plan management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system creates a universal execution plan for a factorized character string that can serve multiple queries with different execution value lists. Instead of generating separate plans for each similar query, a single execution plan is generated and stored, then reused for all queries that match the factorized pattern, thereby improving system efficiency while managing complexity through standardized plan structures.

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

3Productivity

If a conventional DBMS executes queries separately even when results are identical, then query accuracy is maintained, but resource utilization decreases due to redundant processing

Engineering Contradiction:
Improveresource utilizationVSAvoidenergy for repeated query execution
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system creates a copy of the execution plan from the factorized character string and reuses it for subsequent matching queries. Instead of executing queries separately and generating identical results repeatedly, the system copies the pre-generated execution plan and applies it to multiple queries, thereby improving resource utilization and reducing energy loss from redundant processing.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS9753977B2Method and system for managing database
Publication Date: 2017.09.05 NAVER CORP
  • US9753977B2 patent drawing
  • US9753977B2 patent drawing
  • US9753977B2 patent drawing

AI summary

A database management method generates an execution plan with respect to a factorized character string generated by factoring an execution value list of a query and storing the factorized character string and an execution plan identifier associated with the factorized character string. The method includes receiving a factorized character string generated from a query; determining whether the factorized character string is stored in a memory; transmitting an execution plan identifier matching the factorized character string stored in the memory when the factorized character string is stored in the memory; generating and transmitting an execution plan identifier with respect to an execution plan of the factorized character string when the factorized character string is not stored in the memory; receiving a query request consisting of the execution plan identifier and an execution value list included in the query; and providing a query result obtained using the query request.