Patent application number | Description | Published |
20090012945 | SYSTEM FOR EXECUTING A QUERY HAVING MULTIPLE DISTINCT KEY COLUMNS - A system and computer readable medium for executing a query to access data stored in a database, wherein the query includes a plurality of DISTINCT keys, is disclosed. The system and computer readable medium includes a capture module for identifying each of the plurality of DISTINCT keys in the query and a sort module coupled to the capture module for determining if more than one sort is needed to execute the query, performing a first DISTINCT operation on a first DISTINCT key of the plurality of DISTINCT keys, storing data fetched from the first DISTINCT operation in a master workfile only if more than one sort process is needed to execute the query, and utilizing the master workfile to perform subsequent DISTINCT operations on the other of the plurality of DISTINCT keys. | 01-08-2009 |
20090030875 | STATISTICS MANAGEMENT - Disclosed is a technique for maintaining statistics. A query is received. Column group generation is performed to form one or more column groups. Column group refinement is performed based on statistics data generated for a previously received query. A statistics check is automatically performed. A statistics collection command is generated to obtain statistics. | 01-29-2009 |
20090049012 | APPARATUS, SYSTEM, AND METHOD FOR ENSURING QUERY EXECUTION PLAN STABILITY IN A DATABASE MANAGEMENT SYSTEM - An apparatus, system, and method are disclosed for ensuring query execution plan stability in a database management system. The present invention binds a static database query to a new query execution plan (QEP) that produces the same result set as an original QEP bound to the static database query. Next, the present invention identifies one of the original QEP and the new QEP as a primary QEP and automatically collects execution statistics for the original QEP and the new QEP. Finally, the present invention automatically selects one of the original QEP and the new QEP as the primary QEP in response to completion of the automatic collection of execution statistics, the primary QEP selected such that the automatically selected QEP provides optimal execution performance based on performance criteria in comparison to the automatically unselected QEP, the primary QEP selected based on the execution statistics. | 02-19-2009 |
20090063397 | METHOD AND SYSTEM FOR DISJUNCTIVE SINGLE INDEX ACCESS - A method for performing disjunctive single-index access on a database is disclosed. The method includes a query engine determining whether a first OR predicate and a second OR predicate map to a shared index. Responsive to the query engine determining that the first OR predicate and the second OR predicate map to the shared index, the first OR predicate and the second OR predicate are ordered in an ascending sequence. A first range of the first OR predicate is queued. A first row of the shared index is probed for the first range of the first OR predicate. Whether the first row is disqualified by the first OR predicate is determined. Responsive to determining that the first row is not disqualified by the first OR predicate, the row is reported in a result reporting structure. Responsive to determining that the row is disqualified by the first OR predicate, whether the first range of the first OR predicate overlaps a second range of the second OR predicate is determined, and, responsive to determining that the first range of the first OR predicate overlaps the second range of the second OR predicate, the row is checked against second range of the second or predicate. | 03-05-2009 |
20090083233 | SYSTEM AND ARTICLE OF MANUFACTURE FOR EFFICIENT EVALUATION OF INDEX SCREENING PREDICATES - Techniques are provided for processing a query using an index. It is determined whether a number of consecutive keys that evaluate to a false-positive when applying a screening predicate in the query exceeds a false-positive predefined value. One or more keys in the index are skipped in response to determining that the number of consecutive keys exceeds the false-positive predefined value. | 03-26-2009 |
20090094258 | OFF-LOADING STAR JOIN OPERATIONS TO A STORAGE SERVER - A method, storage server, and computer readable medium for off-loading star-join operations from a host information processing system to a storage server. At least a first and second set of keys from a first and second dimension table, respectively are received from a host system. Each of the first and second set of keys is associated with at least one fact table. A set of locations associated with a set of foreign key indexes are received from the host system. A set of fact table indexes are traversed. At least a first set of Row Identifiers (“RIDs”) associated with the first set of keys and at least a second set of RIDs associated with the second set of keys are identified. An operation is performed on the first and second sets of RIDs to identify an intersecting set of RIDs. The intersecting set of RIDs are then stored. | 04-09-2009 |
20090198738 | System and Method for an Adaptive List Prefetch - A method, system, and computer program product are provided for retrieving records into a main memory. A first number of gaps and a first total gap size are received for a list of records from a database subsystem. A determination is made of a first average gap size using the first number of gaps and the first total gap size. A determination is made as to whether the first average gap size is greater than a prestaging threshold value. Responsive to the first average gap size being equal to or less than the prestaging threshold value, a prestaging flag is set for the list of records. Then, the list of records is retrieved into the main memory using prestaging. | 08-06-2009 |
20100042607 | METHOD, APPARATUS, AND COMPUTER PROGRAM PRODUCT FOR ADAPTIVE QUERY PARALLELISM PARTITIONING WITH LOOK-AHEAD PROBING AND FEEDBACK - A database query is partitioned into an initial partition including a plurality of parallel groups, and is executed, via an execution plan, based on the initial partition. A sampling subset of data is identified from the plurality of parallel groups. Substantially in parallel with the executing of the query, the execution plan is executed on the sampling subset of data as a sampling thread. The execution plan is modified based on feedback from the execution of the execution plan on the sampling subset of data. | 02-18-2010 |
20100114868 | QUERY EXECUTION PLAN EFFICIENCY IN A DATABASE MANAGEMENT SYSTEM - An apparatus, system, and method are disclosed for improving query execution plan efficiency in a database management system. The present invention binds both static database queries and dynamic database queries to new query execution plans (QEPs) that produce the same result set as a former QEP bound to the database queries. Next, the present invention identifies one of the former QEPs and the new QEP as an active QEP and automatically collects execution statistics for one of the former QEPs and the new QEP. Finally, the present invention automatically selects one of the former QEPs and the new QEP as the active QEP in response to completion of the automatic collection of execution statistics, the active QEP selected such that the automatically selected QEP provides optimal execution performance based on performance criteria in comparison to the automatically unselected QEP, the active QEP selected based on the execution statistics. | 05-06-2010 |
20110213775 | Database Table Look-up - Techniques for database table look-up are provided. The techniques include storing one or more column attributes of a database table in a data structure, wherein the data structure also comprises a record identification (RID) column of a table, one or more predicate columns corresponding to the RID column, and a sequence number column that is associated with one or more updated records, generating a key using one or more portions from one or more of the one or more predicate columns, using the key to partition the data structure, wherein partitioning the data structure comprises partitioning the one or more predicate columns for evaluation, and evaluating the one or more predicate columns against the data structure for each matching predicate column-data structure partition. | 09-01-2011 |
20120221577 | METHOD OF AND APPARATUS FOR ORGANIZING DATA RECORDS IN A RELATIONAL DATABASE - Embodiments of the invention relate to organizing data records in a relational database. An aspect of the invention includes creating index items for a plurality of data records. Each index item includes a counter and the creating results in a plurality of counters. The numerical values of counters in corresponding index items are updated for data records in the plurality of data records that are subjected to random access. The plurality of data records are reorganized based upon the numerical values of the plurality of counters. | 08-30-2012 |
20130159321 | METHOD AND APPARATUS FOR OPTIMIZING ACCESS PATH IN DATABASE - Apparatuses and methods for optimizing access path are provided. Execution of a query statement is sampled to obtain the information about a plurality of executing instances, the information about each executing instance comprises the literal value of the query statement in the instance and the filter factor corresponding to the literal value. The plurality of instances are grouped into a plurality of groups based on the filter factors corresponding to the literal values. The average filter factor of each group and the occurrence frequency of the group are obtained. The candidate access path created for the average filter factor of each group is accordingly obtained, and by taking the occurrence frequencies as weights, the weighted execution cost of each candidate access path is calculated for each group. The candidate access path with the minimum sum of the weighted execution costs for all groups is determined as the optimal access path. | 06-20-2013 |
20130159353 | GENERATING A TEST WORKLOAD FOR A DATABASE - A method of transferring files in a data-processing network using a current node within the network includes reading an outbound content and outbound characteristics of an outbound file. An outbound message is created having outbound strings including a first set of the outbound strings representing the outbound characteristics and a second set of the outbound strings representing the outbound content. The outbound message is sent to a receiver node within the network. An inbound message is received from a sender node within the network. The inbound message has inbound strings including a first set of the inbound strings representing inbound characteristics and a second set of the inbound strings representing inbound content. An inbound file having the inbound content is stored, and the inbound characteristics are applied to the inbound file. | 06-20-2013 |
20130262435 | ADAPTIVE QUERY EXECUTION PLAN ENHANCEMENT - An adaptive query execution plan enhancement is provided by: selecting a sample of literal sets from an execution history of a query statement; determining a plurality of access paths by applying each literal set in the sample to the query statement; for each given access path of the plurality of access paths, determining a total execution cost by applying each literal set in the sample to the given access path; and selecting a preferred access path from the plurality of access paths based on the total execution costs for each given access path. A plurality of preferred access paths for a plurality of query statements in an application workload is collected and may be presented as a query execution plan enhancement recommendation to users. | 10-03-2013 |
20140279891 | REPLICATION GROUP PARTITIONING - Methods and systems for replication group partitioning include analyzing historical workload data for a plurality of data elements to generate one or more transaction patterns and generating a recommended partitioning of the plurality of data elements into one or more replication groups, based on the one or more transaction patterns, that are optimized toward a partitioning goal. | 09-18-2014 |
20140279892 | REPLICATION GROUP PARTITIONING - Systems for replication group partitioning include a workload profiling module configured to analyze historical workload data for a plurality of data elements to identify and categorize one or more transaction patterns; and a recommendation module configured to generate a recommended partitioning of the plurality of data elements into one or more replication groups, based on the one or more transaction patterns, that are optimized toward a partitioning goal. | 09-18-2014 |