Patent ID: 9589016
Date: 2017-03-07
CPC Classifications: G06F

Claim:
1. A computer-implemented method performed by a processor, comprising: receiving a first query to retrieve data stored in a row in a base table; identifying a first cell and a second cell in the base table, the first cell corresponding to a first column in the row, the second cell corresponding to a second column in the row; determining that data in the first cell is above a threshold memory size, wherein the data from the first cell is a large object (LOB) and the threshold memory size is set by a database manager; determining, based on a share parameter of the base table, that the base table is permitted to share the data for the row with a first materialized query table (MQT), wherein the share parameter of the base table is automatically configured based upon a set of configuration rules; generating, in response to determining that the LOB is above the threshold memory size, the first MQT, the first MQT containing the data for the second cell and having a first reference pointer in place of the data of the first cell, the first reference pointer indicating a location of the LOB in the base table; storing the first MQT in a location that is separate from the base table; generating an index that includes a storage space pointer, the storage space pointer being configured to identify the location of the first MQT; identifying a first refresh schedule, the first refresh schedule being associated with the base table; identifying a second refresh schedule, the second refresh schedule being associated with the first MQT; synchronizing the first refresh schedule and the second refresh schedule to a common refresh rate, the common refresh rate maintaining consistency with changes in the base table; receiving a second query to retrieve the data stored in the first cell; accessing the index that stores the storage space pointer to the first MQT; rewriting, by the database manager, the second query to direct the second query to the first MQT; identifying the first reference pointer in the first MQT, the first reference pointer identifying the location of the LOB in the base table; retrieving, from the base table, the data for the LOB; receiving a third query to retrieve data stored in the row in the base table; identifying the first cell and a third cell in the base table, the first cell corresponding to the first column in the row, the third cell corresponding to a third column in the row; determining that data from the first cell is above the threshold memory size; determining, based on a share parameter of the first MQT, that the first MQT is permitted to share the data with a second MQT, wherein the share parameter of the first MQT is automatically configured based upon a set of configuration rules; generating the second MQT, the second MQT containing the data for the third cell and having a second reference pointer in place of the data of the first cell, the second reference pointer indicating a location of the first reference pointer in the first MQT; identifying the first reference pointer in the first MQT, the first reference pointer identifying the location of the first cell; and retrieving, from the base table, the data for the LOB.