US2018232418A1PendingUtilityA1

Increasing database performance through query aggregation

45
Assignee: IBMPriority: Feb 14, 2017Filed: Feb 14, 2017Published: Aug 16, 2018
Est. expiryFeb 14, 2037(~10.6 yrs left)· nominal 20-yr term from priority
G06F 16/24544G06F 16/2456G06F 17/30466G06F 17/30498
45
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A method, computer program product, and system includes a processor(s) executing a new instruction in place of a left outer join instruction to generate a data set, where the left outer join instruction includes at least two tables and an indication of a column in each the tables to join on. Executing the new instruction includes the processor(s) creating a temporary table including all columns of the at least two tables, where values in fields of the temporary table are null values, executing an inner join instruction, the inner join instruction includes the indication of the column in each of the at least two tables to join on, to create a preliminary results set, and generating the data set, wherein the generating includes the processor(s) overlaying the preliminary results set on the temporary table to update a portion of the null values with values from the preliminary results set.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A computer-implemented method, comprising:
 executing, by one or more processors, a new instruction in place of a left outer join instruction to generate a data set for future processing, wherein the left outer join instruction includes at least two tables and an indication of a column in each of the at least two tables to join on, and wherein executing the outer join generates the data set, the executing the new instruction comprising:
 creating, by the one or more processors, a temporary table comprising all columns of the at least two tables, wherein values in fields of the temporary table, for each column, are null values; 
 executing, by the one or more processors, an inner join instruction, on the at least two tables, the inner join instruction comprising the indication of the column in each of the at least two tables to join on, to create a preliminary results set; and 
 generating, by the one or more processors, the data set, wherein the generating comprises overlaying, by the one or more processor, the preliminary results set on the temporary table to update a portion of the null values with values from the preliminary results set. 
   
     
     
         2 . The computer-implemented method of  claim 1 , further comprising:
 selecting, by the one or more processors, values from the data set.   
     
     
         3 . The computer-implemented method of  claim 2 , wherein the selecting comprises:
 executing, by the one or more processors, a subsequent structured language query to select a portion of data from the data set.   
     
     
         4 . The computer-implemented method of  claim 1 , further comprising:
 monitoring, by one or more processor, query execution in a relational database;   identifying, by the one or more processors, the left outer join in a database instruction before execution of the instruction by the one or more processors; and   halting, by the one or more processors, execution of the instruction.   
     
     
         5 . The computer-implemented method of  claim 4 , further comprising:
 identifying, by the one or more processors, an instruction subsequent to the database instruction, wherein the subsequent instruction comprises a select statement, selecting from the data set; and   executing, by the one or more processors, the subsequent instruction.   
     
     
         6 . The computer-implemented method of  claim 4 , wherein the monitoring comprises utilizing a monitor is a relational database management system of the relational database. 
     
     
         7 . The computer-implemented method of  claim 1 , wherein the left outer join instruction and the new instruction comprise structured query language. 
     
     
         8 . The computer-implemented method of  claim 1 , wherein the executing further comprises:
 generating, by the one or more processors, from the left outer join instruction, the new instruction.   
     
     
         9 . A computer program product comprising:
 a computer readable storage medium readable by one or more processors and storing instructions for execution by the one or more processors for performing a method comprising:
 executing, by the one or more processors, a new instruction in place of a left outer join instruction to generate a data set for future processing, wherein the left outer join instruction includes at least two tables and an indication of a column in each of the at least two tables to join on, and wherein executing the outer join generates the data set, the executing the new instruction comprising:
 creating, by the one or more processors, a temporary table comprising all columns of the at least two tables, wherein values in fields of the temporary table, for each column, are null values; 
 executing, by the one or more processors, an inner join instruction, on the at least two tables, the inner join instruction comprising the indication of the column in each of the at least two tables to join on, to create a preliminary results set; and 
 generating, by the one or more processors, the data set, wherein the generating comprises overlaying, by the one or more processor, the preliminary results set on the temporary table to update a portion of the null values with values from the preliminary results set. 
 
   
     
     
         10 . The computer program product of  claim 9 , the method further comprising:
 selecting, by the one or more processors, values from the data set.   
     
     
         11 . The computer program product of  claim 10 , wherein the selecting comprises:
 executing, by the one or more processors, a subsequent structured language query to select a portion of data from the data set.   
     
     
         12 . The computer program product of  claim 9 , the method further comprising:
 monitoring, by one or more processor, query execution in a relational database;   identifying, by the one or more processors, the left outer join in a database instruction before execution of the instruction by the one or more processors; and   halting, by the one or more processors, execution of the instruction.   
     
     
         13 . The computer program product of  claim 12 , the method further comprising:
 identifying, by the one or more processors, an instruction subsequent to the database instruction, wherein the subsequent instruction comprises a select statement, selecting from the data set; and   executing, by the one or more processors, the subsequent instruction.   
     
     
         14 . The computer program product of  claim 12 , wherein the monitoring comprises utilizing a monitor is a relational database management system of the relational database. 
     
     
         15 . The computer program product of  claim 9 , wherein the left outer join instruction and the new instruction comprise structured query language. 
     
     
         16 . The computer program product of  claim 9 , wherein the executing further comprises:
 generating, by the one or more processors, from the left outer join instruction, the new instruction.   
     
     
         17 . A system comprising:
 a memory;   one or more processors in communication with the memory; and   program instructions executable by the one or more processors via the memory to perform a method, the method comprising:
 executing, by the one or more processors, a new instruction in place of a left outer join instruction to generate a data set for future processing, wherein the left outer join instruction includes at least two tables and an indication of a column in each of the at least two tables to join on, and wherein executing the outer join generates the data set, the executing the new instruction comprising:
 creating, by the one or more processors, a temporary table comprising all columns of the at least two tables, wherein values in fields of the temporary table, for each column, are null values; 
 executing, by the one or more processors, an inner join instruction, on the at least two tables, the inner join instruction comprising the indication of the column in each of the at least two tables to join on, to create a preliminary results set; and 
 generating, by the one or more processors, the data set, wherein the generating comprises overlaying, by the one or more processor, the preliminary results set on the temporary table to update a portion of the null values with values from the preliminary results set. 
 
   
     
     
         18 . The system of  claim 17 , the method further comprising:
 selecting, by the one or more processors, values from the data set.   
     
     
         19 . The system of  claim 18 , wherein the selecting comprises:
 executing, by the one or more processors, a subsequent structured language query to select a portion of data from the data set.   
     
     
         20 . The system of  claim 17 , the method further comprising:
 monitoring, by one or more processor, query execution in a relational database;   identifying, by the one or more processors, the left outer join in a database instruction before execution of the instruction by the one or more processors; and   halting, by the one or more processors, execution of the instruction.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.