Patent application number | Description | Published |
20090271360 | Assigning Plan Volatility Scores to Control Reoptimization Frequency and Number of Stored Reoptimization Plans - Methods, systems, and computer program products are provided for improving the processing of database queries. Some embodiments include generating volatility scores for various plans for executing similar database queries. Different embodiments may utilize: database statistics, the variable values being selected for, and/or historical run time data, to generate the plan volatility scores. In some embodiments, the volatility scores are used to determine whether to generate a new plan for a query, whether to prune an existing plan, and/or how many different plans to store for a query. | 10-29-2009 |
20090276393 | Implementing Aggregation Combination Using Aggregate Depth Lists and Cube Aggregation Conversion to Rollup Aggregation for Optimizing Query Processing - A process combines multiple grouping sets into single rollup sets with depth lists defining the levels of grouping that must be performed. Grouping sets are identified that are contained within other sets and combined into single rollups with depth lists. Cube aggregation conversion to rollup aggregation is provided for optimizing database query processing. Natural sets of rollup hierarchies within a cube are recognized and the cube is converted into those rollup hierarchies. Once converted, the rollup aggregation is performed to significantly reduce required processing. | 11-05-2009 |
20090276394 | OBTAINING A PLAN FOR EXECUTING A QUERY IN A RELATIONAL DATABASE - A plan for executing a query in a relational database is obtained. A query for accessing data in the relational database is received. The query specifies N tables in the relational database from which data is to be retrieved. A determination is made whether a syntax of the query matches a syntax of a plan in a plan cache for executing the query. Matches are identified between generic table formats of the N tables specified in the query to generic table formats of N tables specified in the plan responsive to the syntax of the query matching the syntax of a plan in the plan cache for executing the query. The plan for executing the query is obtained based on whether the syntax of the query matches the syntax of the plan and based on identified matches between the generic table formats of the N tables specified in the query to the generic table formats of the N tables specified in the plan. | 11-05-2009 |
20090281986 | Generating Database Query Plans - Embodiments of the invention provide techniques for optimizing database queries for energy efficiency. In general, a query optimizer is configured to compare energy requirements of query plans, and to select a query plan requiring minimal energy to execute. In one embodiment, the query optimizer may also compare time performance of the query plans, and may select a query plan by matching to a user preference for a relative priority between energy requirements and time performance. | 11-12-2009 |
20090281992 | Optimizing Database Queries - Embodiments of the invention provide techniques for optimizing database queries for energy efficiency. In general, a query optimizer is configured to compare energy requirements of query plans, and to select a query plan requiring minimal energy to execute. In one embodiment, the query optimizer may also compare time performance of the query plans, and may select a query plan by matching to a user preference for a relative priority between energy requirements and time performance. | 11-12-2009 |
20090282272 | Organizing Databases for Energy Efficiency - Embodiments of the invention provide techniques for optimizing database queries for energy efficiency. In general, a query optimizer is configured to compare energy requirements of query plans, and to select a query plan requiring minimal energy to execute. In one embodiment, the query optimizer may also compare time performance of the query plans, and may select a query plan by matching to a user preference for a relative priority between energy requirements and time performance. | 11-12-2009 |
20090313210 | ENCODED MATRIX INDEX - A method, apparatus, and program product are provided for creating an Encoded Matrix Index for a column in a database table. An element of the column for all rows in the database table is compared to a corresponding reference value in a reference data structure, and in response to at least one value for the element of the column not matching the reference value, indicating a variation in a variation data structure and creating a value data structure. Queries executed using the Encoded Matrix Index include terms associated with a sub-column defined in a column of a database table. The variation data structure is accessed to determine whether any variation exists between rows belonging to a sub-column of the database table. If no variation exists, a value is accessed from the reference data structure; otherwise, a value for each row of the sub-column is accessed from a value data structure. | 12-17-2009 |
20110137890 | Join Order for a Database Query - In an embodiment, a portion of the execution plan is executed to produce a portion of records in a partial result set. If a first join of a table is performed that eliminates more than a first threshold number of records from the partial result set, a determination is made whether an estimated cost of a forced primary join is less than an estimated cost of a star join. If the estimated cost of the forced primary join is less than the estimated cost of the star join, then the table is moved first in a join order in the execution plan, the portion of the records in the partial result set is discarded, and the execution is re-started with a different portion of the execution plan to produce a different portion of the records. | 06-09-2011 |
20120072412 | EVALUATING EXECUTION PLAN CHANGES AFTER A WAKEUP THRESHOLD TIME - In an embodiment an execution plan for a query is created. A wakeup threshold is set proportional to an amount of time taken by the creation of the execution plan. In various embodiments, the wakeup threshold is increased by a percentage equal to one minus a percentage of free resources at a computer system, is increased inversely proportional to an amount of execution time of a previous execution of the execution plan, or is decreased proportional to a number of times the execution plan was executed. A portion of the execution plan is executed to produce a portion of rows in a result set until the wakeup threshold expires. After the wakeup threshold expires, changes to the execution plan are evaluated. | 03-22-2012 |
20120158698 | EXECUTION PLANS WITH DIFFERENT DRIVER SOURCES IN MULTIPLE THREADS - In an embodiment, a first driver source specified by a first execution plan that implements a query is designated, and a second driver source specified by a second execution plan that implements the query is designated. A portion of the first execution plan and a portion of the second execution plan are executed. If a unique identifier of a first row returned by the executing the portion of the first execution plan does not match all unique identifiers of all rows from the second driver source that were saved to a result set by the executing the portion of the second execution plan, then the first row returned by the executing the portion of the first execution plan is added to the result set and the unique identifier of the first row that was returned by the executing the portion of the first execution plan is added to a unique identifier log. | 06-21-2012 |
20120179712 | ENCODED MATRIX INDEX - A method, apparatus, and program product are provided for creating an Encoded Matrix Index for a column in a database table. An element of the column for all rows in the database table is compared to a corresponding reference value in a reference data structure, and in response to at least one value for the element of the column not matching the reference value, indicating a variation in a variation data structure and creating a value data structure. Queries executed using the Encoded Matrix Index include terms associated with a sub-column defined in a column of a database table. The variation data structure is accessed to determine whether any variation exists between rows belonging to a sub-column of the database table. If no variation exists, a value is accessed from the reference data structure; otherwise, a value for each row of the sub-column is accessed from a value data structure. | 07-12-2012 |
20120185935 | IMPLEMENTING AUTOMATIC ACCESS CONTROL LIST VALIDATION USING AUTOMATIC CATEGORIZATION OF UNSTRUCTURED TEXT - A method, system and computer program product are provided for implementing automatic access control list validation using automatic categorization of unstructured text. Automatic categorization of unstructured text is performed on a plurality of documents of an access control list for determining an average term vector. Each of the documents is scored against the average term vector to identify a dissimilar document, flagged as a possible security risk. Automatic categorization of unstructured text is performed on user information of a plurality of members of a candidate access control list for determining a typical term vector. A similarity score is determined by user information and the typical term vector, members of an access control list that are dissimilar from other members of the access control list are identified. | 07-19-2012 |
20120198423 | Code Path Tracking - Methods, systems, and products are provided for code path tracking. Embodiments include identifying an instrumented trace point in software code to be path tracked; identifying a function executed at the instrumented trace point in the software code; identifying parameters for the function executed at the instrumented trace point; and recording a description of the function, the parameters, and the result of the execution of the function using the parameters. | 08-02-2012 |
20140258215 | MANAGEMENT OF UPDATES IN A DATABASE SYSTEM - A method, system, and computer program product to efficiently maintain a database is disclosed. The method, system, and computer program product may include structuring the database to have a table, an index associated with the table, and a log associated with the index. The method, system, and computer program product may include receiving a maintenance request related to the index. The method, system, and computer program product may include accounting for the maintenance request when the index is being searched. The method, system, and computer program product may include adding the maintenance request to the log when the index is not being searched. | 09-11-2014 |
20140258216 | MANAGEMENT OF SEARCHES IN A DATABASE SYSTEM - A method, system, and computer program product to efficiently search a database is disclosed. The method, system, and computer program product may include structuring the database to have a table, an index associated with the table, and a log associated with the index, the log adapted to include an entry. The method, system, and computer program product may include receiving a search request related to the index. The method, system, and computer program product may include searching the index when the search request is not associated with the entry. The method, system, and computer program product may include accounting for the entry and searching the index when the search request is associated with the entry. | 09-11-2014 |
20140258251 | MANAGEMENT OF UPDATES IN A DATABASE SYSTEM - A method, system, and computer program product to efficiently maintain a database is disclosed. The method, system, and computer program product may include structuring the database to have a table, an index associated with the table, and a log associated with the index. The method, system, and computer program product may include receiving a maintenance request related to the index. The method, system, and computer program product may include accounting for the maintenance request when the index is being searched. The method, system, and computer program product may include adding the maintenance request to the log when the index is not being searched. | 09-11-2014 |
20140258264 | MANAGEMENT OF SEARCHES IN A DATABASE SYSTEM - A method, system, and computer program product to efficiently search a database is disclosed. The method, system, and computer program product may include structuring the database to have a table, an index associated with the table, and a log associated with the index, the log adapted to include an entry. The method, system, and computer program product may include receiving a search request related to the index. The method, system, and computer program product may include searching the index when the search request is not associated with the entry. The method, system, and computer program product may include accounting for the entry and searching the index when the search request is associated with the entry. | 09-11-2014 |
20150039649 | DYNAMIC RUNTIME ENVIRONMENT CONFIGURATION FOR QUERY APPLICATIONS - Techniques are disclosed for allowing users to access data libraries associated with multiple, isolated runtime environments (RTEs). A web query application receives a query and determines an RTE to execute the query against. The web query application determines whether a current RTE matches the determined RTE. If the web query application determines that the current RTE does not match the determined RTE, the web query application configures a server computing system to access the determined RTE and execute the query against data libraries associated with the determined RTE. If the web query application determines that the current RTE matches the determined RTE, the web query application executes the query against the data libraries associated with the current RTE. | 02-05-2015 |
20150039650 | PROFILE-ENABLED DYNAMIC RUNTIME ENVIRONMENT FOR WEB APPLICATION SERVERS - Techniques are disclosed for allowing administrators to manage runtime environments (RTEs). An RTE configuration component prompts for metadata characterizing a plurality of dynamically configurable runtime environments (RTE) for executing data queries. The RTE configuration component generates an RTE definition to associate with each of the plurality of RTEs. When a query is received for execution, the RTE configuration component dynamically configures the server computing system for query execution according to a selected one of the plurality of RTE definitions. | 02-05-2015 |