EFFICIENT DATA RETRIEVAL IN STAGED USE OF IN-MEMORY CURSOR DURATION TEMPORARY TABLES
First Claim
Patent Images
1. A method for processing a query on a multi-node database system against a shared database, the method comprising:
- creating an in-memory temporary table for storing intermediate results for the query, wherein said temporary table comprises multiple table segments;
wherein an execution plan for said query comprises multiple query plan operations, said multiple query plan operations including a first query plan operation and an iterative query plan operation that is executed in multiple iterations, wherein;
said first query plan operation includes reading data from a certain table and storing results generated by said query plan operation in one or more table segments in association with an initial iteration of said multiple iterations;
executing said iterative query plan operation in subsequent iterations of said multiple iterations, wherein for each iteration of said subsequent iterations;
determining one or more table segments associated with one or more previous iterations;
reading said one or more table segments to execute said iterative query plan operation; and
storing results of executing said iterative query plan operation generated during said each iteration in one or more table segments in association with said each iteration.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques are presented herein for storing cursor duration temporary tables in memory of nodes in a clustered database system in association with iterations of an iterative query operation. The techniques involve associating a portion of memory with one or more iteration values. The iteration values indicate which iterations correspond to data that is stored in the portion of memory. When data is requested for a particular iteration, portions of memory are checked to determine if it stores the particular iteration.
24 Citations
16 Claims
-
1. A method for processing a query on a multi-node database system against a shared database, the method comprising:
-
creating an in-memory temporary table for storing intermediate results for the query, wherein said temporary table comprises multiple table segments; wherein an execution plan for said query comprises multiple query plan operations, said multiple query plan operations including a first query plan operation and an iterative query plan operation that is executed in multiple iterations, wherein; said first query plan operation includes reading data from a certain table and storing results generated by said query plan operation in one or more table segments in association with an initial iteration of said multiple iterations; executing said iterative query plan operation in subsequent iterations of said multiple iterations, wherein for each iteration of said subsequent iterations; determining one or more table segments associated with one or more previous iterations; reading said one or more table segments to execute said iterative query plan operation; and storing results of executing said iterative query plan operation generated during said each iteration in one or more table segments in association with said each iteration. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. One or more non-transitory computer-readable media storing instructions for processing a query on a multi-node database system against a shared database, wherein the instructions include:
-
instructions which, when executed by one or more hardware processors, cause creating an in-memory temporary table for storing intermediate results for the query, wherein said temporary table comprises multiple table segments; wherein an execution plan for said query comprises multiple query plan operations, said multiple query plan operations including a first query plan operation and an iterative query plan operation that is executed in multiple iterations, wherein; said first query plan operation includes reading data from a certain table and storing results generated by said query plan operation in one or more table segments in association with an initial iteration of said multiple iterations; instructions which, when executed by one or more hardware processors, cause executing said iterative query plan operation in subsequent iterations of said multiple iterations, wherein for each iteration of said subsequent iterations; determining one or more table segments associated with one or more previous iterations; reading said one or more table segments to execute said iterative query plan operation; and storing results of executing said iterative query plan operation generated during said each iteration in one or more table segments in association with said each iteration. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
Specification