Single-Pass Database Query Processing for Disjoint Result Sets
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional database management systems face inefficiencies in processing complex queries with multiple disjoint result sets, requiring multiple passes through the dataspace and temporary result storage, leading to high overhead and resource usage.
Innovation Solution
A method that iteratively processes records in a single pass through the dataspace, retrieving attributes and performing operations to build disjoint result sets without intermediate storage, allowing for serial or parallel execution of operations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If multiple passes through the dataspace are used to generate disjoint result sets, then query accuracy is improved, but processing time and resource usage increase
Solution Approach 1:
The patent segments the query processing into multiple independent operation threads that can execute concurrently. Each thread generates a portion of the disjoint result sets by processing the dataspace in parallel, eliminating the need for sequential multiple passes while maintaining query accuracy.
Solution Approach 2:
The patent performs preliminary analysis of the query to identify all required attributes and operations before execution. This allows the system to prepare the execution plan and allocate resources in advance, enabling single-pass processing that satisfies all query requirements without needing multiple passes.
2Reliability
If temporary result storage is used to build disjoint result sets, then query completeness is improved, but memory overhead and resource requirements increase
Solution Approach 1:
The patent merges multiple operation threads and their result generation processes into a single coordinated execution flow. All disjoint result sets are built simultaneously during one pass through the dataspace, eliminating the need for separate temporary storage areas for each result set and reducing overall memory overhead.
Solution Approach 2:
The patent extracts only the specific attributes required by each operation from the dataspace records, rather than storing entire records or intermediate result sets. This selective extraction minimizes the amount of data that needs to be held in memory during processing while ensuring all query requirements are met.
3Use of energy by moving object
If complex queries with multiple operations are processed sequentially, then resource usage is reduced, but processing throughput decreases
Solution Approach 1:
The patent implements dynamic parallel execution where multiple operation threads are launched concurrently based on the query structure. The system dynamically manages thread execution, attribute retrieval, and result aggregation in real-time during a single pass through the dataspace, maximizing throughput without proportionally increasing resource usage.
Solution Approach 2:
The patent creates a universal processing framework where a single pass through the dataspace serves multiple operations simultaneously. Each record is evaluated against multiple operations in sequence, with attributes retrieved once and reused across different operations, making the system multi-functional while maintaining efficient resource utilization.
Data Source
AI summary
A method, apparatus and program product are provided for performing a query of a database. A database query is received, which includes first and second operations respectively configured to generate first and second disjoint results sets from a dataspace. The database query is analyzed to identify a set of attributes from the dataspace that are used by at least one of the first and second operations in the database query. During execution of the database query, a plurality of records from the dataspace is iteratively processed in a single pass, including, for each of the plurality of records, processing such record by retrieving the plurality of attributes for such record from the dataspace and performing each of the first and second operations on the record using the retrieved attributes for such record to build the first and second disjoint results sets.


