Patent application number | Description | Published |
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 |
20090063458 | METHOD AND SYSTEM FOR MINIMIZING SORTING - A method for minimizing the sorting of data comprises retrieving a database having an index of entries arranged according to a first, second, and third data entries. Additionally, partitioning the index of entries into a first partially-ordered list, wherein the first partially-ordered list comprises information arranged in the form of the first, second, and third data entries. The first partially-ordered list share the same first data entry. Furthermore, partitioning the index of entries into a second partially-ordered list, wherein the second partially-ordered list comprises information arranged in the form of first data entry, second data entry, third data entry. The first data entry within the second partially-ordered list is not the same as the first data entry in the first partially-ordered list. Additionally, querying the first partially-ordered list without querying the second partially-ordered list according to a set of query instructions. | 03-05-2009 |
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 |
20130086088 | Query Transformation for Masking Data Within Database Objects - According to one embodiment of the present invention, a system processes a database query, and comprises a computer system including at least one processor. The system identifies one or more expressions within the database query utilizing a database object with value masking. Masking requirements are determined for each identified expression and the database object utilized by that identified expression is replicated to provide masked and actual versions of that database object in response to the masking requirements for that expression including masked values and actual values of that database object. The value masking of the database object is applied to the identified expressions within the database query based on the determined masking requirements to produce search results with masked values for the database query. Embodiments of the present invention further include a method and computer program product for processing a database query in substantially the same manner described above. | 04-04-2013 |
20130124500 | QUERY REWRITE FOR PRE-JOINED TABLES - Various aspects of this disclosure are directed to receiving, by a computing device, a first table join query that may include a first group of table identifiers that identify the two or more tables. The computing device may determine whether the first table join query includes an outer join command. When the first table join query includes the outer join command, the computing device may compare the first group of table identifiers and a second group of table identifiers of one or more pre-joined tables to determine whether each of the first table identifiers matches at least one of the second group of table identifiers. The computing device may further determine whether a predicate associated with each table identifier matches a predicate associated with a matching second table identifier. When each of the predicates match, the computing device may rewrite the first table join query. | 05-16-2013 |
20140108378 | TECHNIQUE FOR FACTORING UNCERTAINTY INTO COST-BASED QUERY OPTIMIZATION - A technique for factoring uncertainty into cost-based query optimization includes: determining the degree of uncertainty involved in the cost estimates for the query, determining the degree of sensitivity the query has to that uncertainty, and determining if there is an access path that performs well across the range of possible conditions that could occur at execution time, reducing the risk of performance spikes and performance volatility. If such an access path exists, select that access path; if not, perform parametric query optimization or query re-optimization. | 04-17-2014 |
20140214797 | TECHNIQUE FOR FACTORING UNCERTAINTY INTO COST-BASED QUERY OPTIMIZATION - A technique for factoring uncertainty into cost-based query optimization includes: determining the degree of uncertainty involved in the cost estimates for the query, determining the degree of sensitivity the query has to that uncertainty, and determining if there is an access path that performs well across the range of possible conditions that could occur at execution time, reducing the risk of performance spikes and performance volatility. If such an access path exists, select that access path; if not, perform parametric query optimization or query re-optimization. | 07-31-2014 |
20150074134 | BOOLEAN TERM CONVERSION FOR NULL-TOLERANT DISJUNCTIVE PREDICATES - System, method, and computer program product to modify a received query, the received query including a first predicate specifying a comparison operator and a second predicate specifying an IS NULL operator, by replacing the comparison operator of the first predicate with an extended comparison operator, and removing the IS NULL operator from the received query, the extended comparison operator configured to support searching of NULL values in a database management system (DBMS), wherein the extended comparison operator is configured to return rows having column data matching a value predefined to represent NULL values. | 03-12-2015 |
20150074135 | BOOLEAN TERM CONVERSION FOR NULL-TOLERANT DISJUNCTIVE PREDICATES - System, method, and computer program product to modify a received query, the received query including a first predicate specifying a comparison operator and a second predicate specifying an IS NULL operator, by replacing the comparison operator of the first predicate with an extended comparison operator, and removing the IS NULL operator from the received query, the extended comparison operator configured to support searching of NULL values in a database management system (DBMS), wherein the extended comparison operator is configured to return rows having column data matching a value predefined to represent NULL values. | 03-12-2015 |
20150220595 | DYNAMICALLY ADJUST DUPLICATE SKIPPING METHOD FOR INCREASED PERFORMANCE - Embodiments presented herein provide techniques for setting different methods of skipping duplicate values when executing a query statement in a relational database. A distance between a two distinct keys in an index, a current index key and a next distinct index key, are estimated. Based on the estimated distance, an appropriate duplicate-skipping method is determined. If the proximity between the distinct keys is relatively far apart (e.g., the keys reside in index pages that are at least an index page apart), then a “big skip” method is performed. Otherwise, if the proximity between the distinct keys is relatively near (e.g., the keys reside in the same index page), then a “little skip” method is performed. | 08-06-2015 |
20150220596 | DYNAMICALLY ADJUST DUPLICATE SKIPPING METHOD FOR INCREASED PERFORMANCE - Embodiments presented herein provide techniques for setting different methods of skipping duplicate values when executing a query statement in a relational database. A distance between a two distinct keys in an index, a current index key and a next distinct index key, are estimated. Based on the estimated distance, an appropriate duplicate-skipping method is determined. If the proximity between the distinct keys is relatively far apart (e.g., the keys reside in index pages that are at least an index page apart), then a “big skip” method is performed. Otherwise, if the proximity between the distinct keys is relatively near (e.g., the keys reside in the same index page), then a “little skip” method is performed. | 08-06-2015 |
20150310063 | PROCESSING QUERIES USING HYBRID ACCESS PATHS - Embodiments of techniques related to optimizing and processing queries are disclosed. In one embodiment, a query to access data of one or more databases is received, and a hybrid access path for accessing the data is generated. Generating the hybrid access path may include determining a plurality of candidate access paths and respective path cost values and selecting, based on the respective path cost values, two or more candidate access paths from the plurality of candidate access paths. Generating the hybrid access path may include generating, based on the two or more candidate access paths, the hybrid access path, the hybrid access path including at least one decision point and a set of options. The at least one decision point of the hybrid access path may indicate a difference between two or more candidate sequences of operations of candidate access paths from the two or more candidate access paths. | 10-29-2015 |
20160055208 | FEEDBACK MECHANISM PROVIDING ROW-LEVEL FILTERING EARLIER IN A PLAN - According to present invention embodiments, methods, systems, and computer readable media of executing a database query are provided. One or more predicates are generated based on implicit filtering present within the database query, wherein each predicate specifies a condition with respect to a predicate value. An access path is selected for the database query based on the one or more predicates and the one or more predicates are integrated within the selected access plan. The database query is executed in accordance with the selected access plan. At least one predicate value based on data accessed is updated, as the database query is being executed, to increase filtering of data during remaining execution of the database query. | 02-25-2016 |
20160055210 | FEEDBACK MECHANISM PROVIDING ROW-LEVEL FILTERING EARLIER IN A PLAN - According to present invention embodiments, methods, systems, and computer readable media of executing a database query are provided. One or more predicates are generated based on implicit filtering present within the database query, wherein each predicate specifies a condition with respect to a predicate value. An access path is selected for the database query based on the one or more predicates and the one or more predicates are integrated within the selected access plan. The database query is executed in accordance with the selected access plan. At least one predicate value based on data accessed is updated, as the database query is being executed, to increase filtering of data during remaining execution of the database query. | 02-25-2016 |