Method for using deferred column retrieval to improve row retrieval and query performance of OLE DB applications
First Claim
Patent Images
1. In a Data Management System (DBMS) wherein an Enterprise Database Server operating under a Master Control Program (MCP) operates through a Data Access Module to a Windows™
- client application program having a consumer'"'"'s data buffer, said system holding a base table of information in a Database, a method for managing database queries for data access by managing overhead operations which no longer require access to said base table in said database, said method comprising the steps of;
(a) providing an index structure having index files wherein each index file contains a Key and Pointer which points to a record in said base table,(a1) fetching a limited set of columns from said base table;
(b) issuing a database fetch request from said index structure wherein step (b) includes the step of;
(b1) retrieving column information from said index structure;
(c) enabling Online Embedded Database (OLE DB) applications to access selected columns present in said index structure while eliminating the need to access said base table.
14 Assignments
0 Petitions
Accused Products
Abstract
The present invention is a method for facilitating the use of deferred column retrieval in order to improve row retrieval and query performance of OLE DB objects. The method enables OLE DB applications to access columns present in index structures without accessing the base table, enables optimization and faster running queries, as well as detecting various data access patterns, which could facilitate usage of the index for data retrieval.
-
Citations
2 Claims
-
1. In a Data Management System (DBMS) wherein an Enterprise Database Server operating under a Master Control Program (MCP) operates through a Data Access Module to a Windows™
- client application program having a consumer'"'"'s data buffer, said system holding a base table of information in a Database, a method for managing database queries for data access by managing overhead operations which no longer require access to said base table in said database, said method comprising the steps of;
(a) providing an index structure having index files wherein each index file contains a Key and Pointer which points to a record in said base table, (a1) fetching a limited set of columns from said base table; (b) issuing a database fetch request from said index structure wherein step (b) includes the step of; (b1) retrieving column information from said index structure; (c) enabling Online Embedded Database (OLE DB) applications to access selected columns present in said index structure while eliminating the need to access said base table.
- client application program having a consumer'"'"'s data buffer, said system holding a base table of information in a Database, a method for managing database queries for data access by managing overhead operations which no longer require access to said base table in said database, said method comprising the steps of;
-
2. A system of an Enterprise Database Server operating under a Master Control Program (MCP) which operates through a Data Access Module to a Windows™
- client application program which when executed by a computer causes a consumer'"'"'s data buffer, said Database Server providing an Index Structure holding a Key and Pointer to a record in a table and organized with Rowsets where each row has columns of data, said system comprising;
(a) means for optimally accessing a specified column of a row in a database from a Windows based Online Embedded Database (OLE DB) application eliminating the need to fetch an entire row from a base table and having client query means for fetching a limited set of columns from a table including; (a1) means to determine if said Rowset was opened with an Index; (a2) means to determine if the command “
FIND KEY OF”
is applicable for this Index;(a3) means to set the CRowset member variable (m_GetData_CanDefer) to TRUE; (b) checking means to determine which columns are present in the Index Structure which spans said table including; (b1) means for creating an accessor for setting up bindings for each column in a row that needs to be accessed including where the column data is to be laid out in the consumers data buffer and which includes a binding for each column in a row; (b2) means to determine the Rowset was opened with an Index, of said Index Structure; (b3) means to check whether said accessor means is a NULL accessor which has no bindings, and where said means to check indicates that said means to check indicates that said accessor means is NOT a FULL accessor, then said means to check includes; (b3a) means to check all bindings including; (b3a1) means to determine for each binding, if the column is a KEY column or KEYDATA column, then said means to determine includes; (b3a1a) means to set a CRowset member variable to indicate deferred column fetch and to enable getting data from said Index Structure, (b4) means to indicate that said specified row can be fetched from an Index Structure; (c) database fetch request means for fetching a column from only said Index Structure.
- client application program which when executed by a computer causes a consumer'"'"'s data buffer, said Database Server providing an Index Structure holding a Key and Pointer to a record in a table and organized with Rowsets where each row has columns of data, said system comprising;
Specification