Patent application number | Description | Published |
20080215535 | AUTONOMICALLY GENERATING A QUERY IMPLEMENTATION THAT MEETS A DEFINED PERFORMANCE SPECIFICATION - A database query optimizer allows specifying a performance specification for a query. When an access plan is created, the actual performance for executing the query using the access plan is determined and compared to the performance specification for the query. If the actual performance does not satisfy the performance specification for the query, the query optimizer autonomically generates a different access plan to see if the performance improves. If an access plan that meets the performance specification is generated, the new access plan is stored in the access plan cache for the query. If no access plan can be generated that meets the performance specification for the query, the access plan that provided the best performance is selected and stored in the access plan cache for the query. | 09-04-2008 |
20080215536 | AUTONOMICALLY GENERATING A QUERY IMPLEMENTATION THAT MEETS A DEFINED PERFORMANCE SPECIFICATION - A database query optimizer allows specifying a performance specification for a query. When an access plan is created, the actual performance for executing the query using the access plan is determined and compared to the performance specification for the query. If the actual performance does not satisfy the performance specification for the query, the query optimizer autonomically generates a different access plan to see if the performance improves. If an access plan that meets the performance specification is generated, the new access plan is stored in the access plan cache for the query. If no access plan can be generated that meets the performance specification for the query, the access plan that provided the best performance is selected and stored in the access plan cache for the query. | 09-04-2008 |
20080228709 | BUILDING DATABASE STATISTICS ACROSS A JOIN NETWORK USING SKEW VALUES - An apparatus and program product that build column statistics utilizing at least one skew value. The column statistics built using skew values, instead of column statistics built only through random sampling, may be used to more accurately reflect skew values across join networks, and thus enable a query optimizer to better select an access plan that is optimal under current runtime conditions. | 09-18-2008 |
20080228710 | BUILDING DATABASE STATISTICS ACROSS A JOIN NETWORK USING SKEW VALUES - An apparatus, program product and method that build column statistics utilizing at least one skew value. The column statistics built using skew values, instead of column statistics built only through random sampling, may be used to more accurately reflect skew values across join networks, and thus enable a query optimizer to better select an access plan that is optimal under current runtime conditions. | 09-18-2008 |
20080270392 | Optimizing Execution of Database Queries Containing User-Defined Functions - A query engine (or optimizer) which supports database queries having user-defined functions maintains historical execution data with respect to each of multiple user-defined functions. The historical execution data is dynamically updated based on query execution performance. When executing a query having user-defined functions, the query engine uses the historical execution data to predict an optimal evaluation ordering for the query conditions and, preferably, to dynamically adjust the evaluation order when appropriate. Preferably, the historical execution data includes historical execution time of the user-defined function and proportion of evaluated records which satisfied the query parameters. | 10-30-2008 |
20080275858 | Optimizing Execution of Database Queries Containing User-Defined Functions - A query engine (or optimizer) which supports database queries having user-defined functions maintains historical execution data with respect to each of multiple user-defined functions. The historical execution data is dynamically updated based on query execution performance. When executing a query having user-defined functions, the query engine uses the historical execution data to predict an optimal evaluation ordering for the query conditions and, preferably, to dynamically adjust the evaluation order when appropriate. Preferably, the historical execution data includes historical execution time of the user-defined function and proportion of evaluated records which satisfied the query parameters. | 11-06-2008 |
20080281779 | Query Directives And Access Plan Hints - A query plan modification system and method relate to a database system that includes a cost-based optimizer for generating access plans. The database system also permits a user to view an access plan that has been generated by a particular SQL query and modify the access plan if desired. The user specifies customizations that are associated with the access plan so that when that plan is executed, the customizations are executed as well. Exemplary customizations include specifying an initialization file specific to a query, specifying different implementation methods than those in the original access plan, prohibiting rebuilding of an access plan, and over-riding or ignoring a clause within the query that is used to generate the access plan. | 11-13-2008 |
20080281780 | Query Directives And Access Plan Hints - A query plan modification system and method relate to a database system that includes a cost-based optimizer for generating access plans. The database system also permits a user to view an access plan that has been generated by a particular SQL query and modify the access plan if desired. The user specifies customizations that are associated with the access plan so that when that plan is executed, the customizations are executed as well. Exemplary customizations include specifying an initialization file specific to a query, specifying different implementation methods than those in the original access plan, prohibiting rebuilding of an access plan, and over-riding or ignoring a clause within the query that is used to generate the access plan. | 11-13-2008 |
20080288444 | Evaluating Multi-Table Join Selectivity in a Computer Database - An improved method and apparatus is described for a query optimizer to evaluate multi-table join selectivities in a computer database. The query optimizer includes a statistics manager that finds the most appropriate set of assumptions and statistics to use when calculating the cost of an arbitrary join expression. As described herein, the statistics manager implements a unique bucket representation for the join expression. The bucket representation for the join expression can be evaluated and compared to the traditional domino expression so that the best possible estimate can be used. This new representation of the join expression allows the query optimizer to more accurately estimate the join selectivity for many queries compared to traditional representations. | 11-20-2008 |
20090037372 | CREATING PROFILING INDICES - A database engine and optimizer framework support creation of a series of profiling indices over a column having character string data, such as a traditional “varchar” data type. The profiling indices result in a reduction of the number of records that are searched when searching for a sub-string match within that column. In some embodiments, the series of indices are created over a column that is typically searched using the LIKE predicate or some similar technique; these indices indicate for each record whether certain sub-strings may exist in that record's value in the column. Thus, the indices are used to find the rows that may match one or more portions of the particular term being queried or, in other words, eliminate those records that do not have at least a portion of the term to be matched. The number of records actually retrieved and searched for the query sub-string is thereby reduced. | 02-05-2009 |
20090077010 | Optimization of Database Queries Including Grouped Aggregation Functions - Embodiments of the invention provide techniques for generating predicted cardinality statistics for grouped aggregation functions included in database queries. In general, characteristics of a database query are determined, and are then supplied to a probability function configured to generate a predicted cardinality statistic. The generated statistic represents a prediction of the probable cardinality of the results of a grouped aggregation function in the event that the query is executed. The predicted cardinality statistic may be used by a query optimizer to determine an efficient query plan for executing the database query. | 03-19-2009 |
20090077054 | Cardinality Statistic for Optimizing Database Queries with Aggregation Functions - Embodiments of the invention provide techniques for generating predicted cardinality statistics for grouped aggregation functions included in database queries. In general, characteristics of a database query are determined, and are then supplied to a probability function configured to generate a predicted cardinality statistic. The generated statistic represents a prediction of the probable cardinality of the results of a grouped aggregation function in the event that the query is executed. The predicted cardinality statistic may be used by a query optimizer to determine an efficient query plan for executing the database query. | 03-19-2009 |
20090077487 | Canceling window close commands - A computer system that, in an embodiment, receives a close command directed to a window, and determines whether the close command was received within a close threshold time of the display of the window. If the close command was received within the threshold time, in various embodiments, a close dialog is displayed, the window is faded, the window is shrunk, or a status message is displayed indicating that the window is closing. If a cancel command is received within a cancel-close threshold, the closing of the window is canceled. If the number of times the cancel command has been received for the window exceeds a cancel threshold, then in various embodiments, the close threshold is increased, magnification is recommended, a sound option is recommended, or speech recognition is recommended. | 03-19-2009 |
20090094192 | Adaptive Query Processing Infrastructure - Methods, systems, and computer program products are provided for improving the processing of database queries. Some embodiments include detecting an overly long running query execution plan, stopping execution of the plan, and utilizing the query optimizer to select an alternate plan for execution. Embodiments may utilize system timers which are set with a time limit for the first selected plan, with instructions to re-optimize and initiate selection of an alternate plan when the timer times out. Risky constructs may be located in the first plan and removed from future consideration for executing the query. In some embodiments, the additional overhead for non-problem queries consists of little more than creating and sending a message or setting a timer when starting query execution, and canceling a timer upon successful query processing completion. A secondary thread may be created responsive to detecting a long running query, to supervise selecting an alternate execution plan. | 04-09-2009 |
20090112792 | Generating Statistics for Optimizing Database Queries Containing User-Defined Functions - Embodiments of the invention provide techniques for generating statistics for optimizing database queries containing user-defined functions (UDFs). In general, the statistics may be generated based on output values produced during past executions of a UDF. The statistics may also be generated based on input values received during past executions of the UDF. Additionally, the statistics may include input and output value pairs, such that a UDF output may be determined based on a UDF input. The generated statistics may be used by a query optimizer to determine an efficient query plan for executing the database query. | 04-30-2009 |
20090112799 | Database Statistics for Optimization of Database Queries Containing User-Defined Functions - Embodiments of the invention provide techniques for generating statistics for optimizing database queries containing user-defined functions (UDFs). In general, the statistics may be generated based on output values produced during past executions of a UDF. The statistics may also be generated based on input values received during past executions of the UDF. Additionally, the statistics may include input and output value pairs, such that a UDF output may be determined based on a UDF input. The generated statistics may be used by a query optimizer to determine an efficient query plan for executing the database query. | 04-30-2009 |
20090119249 | TRACKING PREMATURE TERMINATION OF A DATABASE QUERY - An apparatus and program product that utilize at least one prematurely terminated processing of a database query to improve the processing of the database query. Due to the difficulty of conventional techniques to improve the execution and/or performance of long processing queries, (e.g., advanced user knowledge, assistance from an expert, etc.), users typically terminate long processing queries. As a result, long processing queries may not be improved, and because of the limited options, users may continue to prematurely terminate long processing queries. However, information related to the premature terminations of a database query may be utilized by a DBMS to generate and/or implement suggestions to improve the processing of the database query, resulting in improved query processing, improved performance, fewer premature terminations, and more satisfied users. | 05-07-2009 |
20090133030 | SYSTEM FOR ON DEMAND TASK OPTIMIZATION - An apparatus and program product determine information indicative of a performance differential between operation of a computer with the standby resource activated and operation of the computer with the standby resource inactivated. The information is communicated to a user. The standby resource may be activated in response to the determination. | 05-21-2009 |
20090158091 | Intelligent Job Functionality - A method, apparatus, and program product utilize intelligent job functionality to diagnose an error in a computer. After detecting an error in a first job processing a task, and in response to another attempt to perform the task, a job selection algorithm selects a predetermined job in which to perform the task and diagnose the error. The predetermined job can be the first job or a new job associated with a signature that corresponds to the task that experienced the error. The predetermined job can be used to diagnose the error in a debugging session. Alternately, the first job may enter a debug session immediately after experiencing an error. | 06-18-2009 |
20120174108 | INTELLIGENT PRE-STARTED JOB AFFINITY FOR NON-UNIFORM MEMORY ACCESS COMPUTER SYSTEM - A method, apparatus, and program product select a pre-started job from among a plurality of pre-started jobs in which to perform a task in a computer system with a NUMA configuration. An attempt to perform a task is received as a connection. Information associated with the connection is compared to information associated with a plurality of pre-started jobs. In response to comparing the information, it is determined either that a pre-started job was previously used to perform the task or that no pre-started job was previously used to perform the task. In response to either determination, another pre-started job is determined in which to perform the task. The other pre-started job is determined based on affinity with the task, and may be reallocated to perform the task. | 07-05-2012 |
20130013586 | METHOD AND SYSTEM FOR DATA MINING FOR AUTOMATIC QUERY OPTIMIZATION - A database monitor tracks performance statistics and information about the execution of different SQL statements. A query optimizer benefits from these statistics when generating an access plan. In particular, the query optimizer, upon receiving an SQL statement, searches the records of the database monitor for similar SQL statements that have previously been executed. As part of determining the best access plan for the current SQL statement, the query optimizer considers the information retrieved from the database monitor. In this way, the access plan that is generated can automatically be tuned based on empirical performance evidence. | 01-10-2013 |