Trie Tree Array Full Outer Join Processing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current table joining methods, such as merge join, require sorting records which is time-consuming and can miss uncoupled records when using trie structures, leading to inefficiencies in full outer joins.
Innovation Solution
A table processing apparatus using a trie tree and an array to efficiently identify and output uncoupled records by generating records based on key entries and managing links to leaves, allowing for high-speed comparison and reduced memory reference.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If merge join is used to perform full outer join, then joining capability is achieved, but sorting time is consumed and performance deteriorates
Solution Approach 1:
The patent replaces the mechanical sorting process with a trie tree-based key matching system. Instead of sorting records physically and then comparing them sequentially, the system inserts keys into a trie tree structure and traverses it to find matching records, eliminating the need for explicit sorting while achieving the same join functionality.
Solution Approach 2:
The patent introduces a trie tree as an intermediary data structure between the two tables being joined. This intermediary structure organizes keys from one table and enables efficient lookup of matching keys from the other table, serving as a mediator that eliminates the need for direct record-by-record comparison after sorting.
2Speed
If trie structure is used for key comparison, then comparison speed is improved, but uncoupled records may be missed
Solution Approach 1:
The patent implements feedback mechanisms through post-order traversal of the trie tree and array-based link management. After inserting all keys into the trie tree, the system performs a post-order traversal to identify leaves without children (indicating uncoupled records), and uses array links to track and output these records, ensuring none are missed while maintaining high comparison speed.
Solution Approach 2:
The patent performs preliminary actions by first inserting all keys from one table into the trie tree structure before processing joins. This preliminary organization of data allows subsequent join operations to proceed rapidly through tree traversal rather than linear comparison, while the array link structure is prepared in advance to capture uncoupled records.
3Productivity
If conventional join methods are used, then join functionality is provided, but CPU load increases and memory references increase
Solution Approach 1:
The patent segments the join processing into distinct phases: key insertion into trie tree, post-order traversal for uncoupled record identification, and array-based link management. This segmentation allows each phase to be optimized independently, reducing overall CPU load by avoiding redundant operations and minimizing memory references through localized data structures.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
When a key of a first record in a first table is entered in a trie tree (1021, 1221) in which keys of a plurality of records in a second table are entered, a computer generates a third record by using the first record and a second record in the second table. The second record includes the key of the first record. A link to a leaf corresponding to the second record is deleted from an array (1022, 1222) which stores links to a plurality of leaves of the trie tree corresponding to the records. When a key of a fourth record in the first table is not entered in the trie tree, a fifth record is generated by using the fourth record. Then, a seventh record is generated by using a sixth record in the second table corresponding to a leaf linked by a link remaining in the array.