Query Cost Estimation Patents (Class 707/719)
  • Patent number: 7970776
    Abstract: Apparatus, methods, and computer code for monitoring a database and for determining estimated aggregate disk-sort wait times for a database statement and/or database table and/or database index and/or database session are described. A description of database performance may be presented to a user in accordance with the determined aggregate disk-sort wait time(s).
    Type: Grant
    Filed: August 7, 2008
    Date of Patent: June 28, 2011
    Assignee: Precise Software Solutions Inc.
    Inventors: Sigal Gelbart, Meyron Ragulsky, Liad Hacmon, Ehud Eshet, Yochai Uliel
  • Publication number: 20110153593
    Abstract: An optimizer uses comprehensive reasoning regarding partitioning, sorting, and grouping properties for query optimization. When optimizing an input query expression, logical exploration generates alternative logical expressions. Physical optimization explores physical operator alternatives for logical operators. Required partitioning, sorting, and grouping properties of inputs to physical operators are determined. Additionally, delivered partitioning, sorting, and grouping properties of outputs from physical operators are determined. In some embodiments, enforcer rules are employed to modify structural property requirements to introduce alternatives for consideration. Property matching identifies valid execution plans in which the delivered partitioning, sorting, and grouping properties satisfy corresponding required partitioning, sorting, and grouping properties. An execution plan having the lowest cost is selected as the optimized execution plan.
    Type: Application
    Filed: December 17, 2009
    Publication date: June 23, 2011
    Applicant: MICROSOFT CORPORATION
    Inventors: JINGREN ZHOU, PRE-AKE LARSON, RONNIE IRA CHAIKEN
  • Publication number: 20110145221
    Abstract: An apparatus and method for processing data stream are provided. A query execution plan for processing data stream is shared between the server and the terminal. The server builds a query execution plan and determines a part of the built query execution plan to be executed in the terminal. The terminal executes the part of the built query execution plan and transfers a result of the execution. The server executes the remaining part of the built query execution plan based on the execution result transferred by the terminal. The part of the query execution plan to be executed in the terminal is determined depending on the performance of the terminal.
    Type: Application
    Filed: June 29, 2010
    Publication date: June 16, 2011
    Applicant: SAMSUNG ELECTRONICS CO., LTD.
    Inventors: Jeong-Ja Kim, Yeong-Ho Jin, Ye-Jin Noh
  • Publication number: 20110137890
    Abstract: 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.
    Type: Application
    Filed: December 4, 2009
    Publication date: June 9, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Robert J. Bestgen, Robert V. Downer, Brian R. Muras
  • Patent number: 7958158
    Abstract: Embodiments of the invention provide techniques for aggregating database queries for energy efficiency. In one embodiment, queries received by a DBMS are aggregated and staged according to hard-disk drives required for query execution. Each group of queries accessing a given drive may be dispatched for execution together. Further, the queries received by a DBMS may be matched to patterns of previously received queries. The matching patterns may be used to predict other queries which are likely to be received by the DBMS. The received queries may be staged to be dispatched with the predicted queries. By aggregating queries to be executed, access to each hard-disk drive may be optimized, thus reducing the overall energy consumption required for executing the queries.
    Type: Grant
    Filed: June 19, 2008
    Date of Patent: June 7, 2011
    Assignee: International Business Machines Corporation
    Inventors: Robert Joseph Bestgen, Wei Hu, Shantan Kethireddy, Andrew Peter Passe, Ulrich Thiemann
  • Patent number: 7958114
    Abstract: A database server may be configured to compute distinct page counts of pages accessed to execute operands of respective queries. The queries may be executed against a table comprised of the pages and having an index managed by the database server. The distinct page counts may be obtained by counting, as a part of the executing of the queries, distinct pages accessed during the execution of the queries.
    Type: Grant
    Filed: April 4, 2008
    Date of Patent: June 7, 2011
    Assignee: Microsoft Corporation
    Inventors: Surajit Chaudhuri, Vivek Narasayya, Ravishankar Ramamurthy
  • Publication number: 20110131119
    Abstract: A system for generating field values of mortgage forms. The system includes a database, a calculation module, a monitoring module. The database contains jurisdictional tax and fee information used to calculate field values for the mortgage form. The calculation module is configured to calculate field values for the mortgage form and to generate a transaction log for mortgage and related transactions. The monitoring module communicates with the database and identifies when changes in the field values of tax and fee information occur in the transaction log, and report those changes to the affected lender.
    Type: Application
    Filed: November 30, 2009
    Publication date: June 2, 2011
    Applicant: Ernst Publishing Co., LLC
    Inventor: Carl R. Ernst
  • Patent number: 7953729
    Abstract: Techniques are provided for use in accordance with relates to computing utilities. For example, in one aspect of the invention, a method for use in a computing utility, wherein the computing utility comprises a plurality of application service provider systems and a utility controller, and each application service provider system comprising an application controller, comprises the following steps. An application request to one of the plurality of application service provider systems is obtained. Then, in response to the application request, at least one of: (i) the application controller of the application service provider system to which the application request is directed computes a value of a business metric associated with a resource action; and (ii) the utility controller computes a value of a business metric associated with a resource action.
    Type: Grant
    Filed: August 25, 2008
    Date of Patent: May 31, 2011
    Assignee: International Business Machines Corporation
    Inventors: Joseph L. Hellerstein, Kaan Katircioglu, Maheswaran Surendra
  • Patent number: 7953728
    Abstract: Systems, methodologies, media, and other embodiments associated with supporting queries with soft time constraints are described. One exemplary system embodiment includes logic for accepting a query having a soft time constraint. The example system may also include logic for rewriting the query having the soft time constraint into a query having a row limitation or a sample percentage limitation. In one example, the row limitation or sample percentage limitation are computed by repetitively comparing an estimated query execution time to the soft time constraint.
    Type: Grant
    Filed: May 18, 2007
    Date of Patent: May 31, 2011
    Assignee: Oracle International Corp.
    Inventors: Ying Hu, Seema Sundara, Jagannathan Srinivasan
  • Patent number: 7949655
    Abstract: A database system includes object relational tables having at least one complex attribute. The database system also includes an optimizer module that selects a join plan for a given query that specifies a join of multiple tables. If the query includes a function selected from the group consisting of a selection predicate applied on a complex attribute, a projection applied on a complex attribute, and a user-defined data type method, then a join path for the join query is determined based in part on a cost associated with application of the function. Application of the function is performed on one of a base table and a join table depending on which has a lower cardinality. The join table is a result of a join of the base table and another table.
    Type: Grant
    Filed: August 25, 2009
    Date of Patent: May 24, 2011
    Assignee: Teradata US, Inc.
    Inventor: Gregory H. Milby
  • Patent number: 7949654
    Abstract: Methods, systems and computer products perform cost estimate to determine an efficient approach to answer a query according to one of several unified query plans. One unified query plan involves querying an unstructured database, referencing a unified index, and probing a structured database based on matches discovered in the unified index. The results of the unstructured database query are used to lookup entries in a unified index associated with the structured database. Then the structured database is probed by querying only the subset of the structured database gleaned from the unstructured database query.
    Type: Grant
    Filed: March 31, 2008
    Date of Patent: May 24, 2011
    Assignee: International Business Machines Corporation
    Inventors: Gautam Das, Mukesh Kumar Mohania, Ullas Balan Nambiar
  • Publication number: 20110119251
    Abstract: Systems and methods for SQL query load balancing are disclosed. A method may include establishing a ranking scheme, assigning a rank to an SQL query from the ranking scheme based on a plurality of rank assignment parameters, determining a threshold rank based on a plurality of gathered operational characteristics, comparing the assigned rank to the threshold rank, and, if the assigned rank is greater than the threshold rank, executing the SQL query on a database server. Otherwise, if the assigned rank is not greater than the threshold rank, executing the SQL query on a centralized storage system.
    Type: Application
    Filed: November 16, 2009
    Publication date: May 19, 2011
    Applicant: DELL PRODUCTS L.P.
    Inventor: Patrick Yu
  • Patent number: 7945562
    Abstract: Join predicate push down transformations push down a join predicate of an outer query into a view. Among the types of views for which join predicate push down is performed are a view with a GROUP BY or DISTINCT operator, an anti-joined or semi-joined view, and a view that contains one or more nested views. During optimization, join predicate push down may be used to generate many transformed queries for comparison. The number of query transformations performed for comparison is managed.
    Type: Grant
    Filed: March 8, 2007
    Date of Patent: May 17, 2011
    Assignee: Oracle International Corporation
    Inventors: Rafi Ahmed, Allison Lee, Dinesh Das
  • Patent number: 7941426
    Abstract: Techniques for optimizing database queries for energy efficiency. A query optimizer is configured to compare energy requirements of query plans, and to select a query plan requiring minimal energy to execute. 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.
    Type: Grant
    Filed: May 8, 2008
    Date of Patent: May 10, 2011
    Assignee: International Business Machines Corporation
    Inventors: Robert J. Bestgen, Wei Hu, Shantan Kethireddy, Andrew P. Passe, Ulrich Thiemann
  • Patent number: 7941425
    Abstract: Techniques for scoring and comparing query execution plans are provided. Predefined parameter types are identified in query execution plans and predefined weighted values are assigned to any identified parameters within the query execution plans. The weights are summed on a per processing step bases and the sum of the processing steps represents a total score for a particular query execution plan. The total scores or individual step scores from different query execution plans can then be compared or evaluated against one another for optimization and problem detection analysis.
    Type: Grant
    Filed: July 25, 2007
    Date of Patent: May 10, 2011
    Assignee: Teradata US, Inc.
    Inventors: Birendra Kumar Sahu, Deva Raju Kvm
  • Patent number: 7933894
    Abstract: Systems and methods that generate specialized plans for compiling SQL queries. A plan generator component scans the query representation for parameter sensitive predicates and evaluates each predicate individually based on the parameter values. Accordingly, queries can be identified not only based on their structures, but also based on their parameter conditions. The specialized plans are more efficient for particular values, wherein queries that employ such values are optimally executed.
    Type: Grant
    Filed: June 15, 2007
    Date of Patent: April 26, 2011
    Assignee: Microsoft Corporation
    Inventors: Marc T. Friedman, Cesar A. Galindo-Legaria, Erik Ismert, Milind Madhukar Joshi, Naveen Prakash
  • Patent number: 7930277
    Abstract: Cost-based optimizer functionality for an XML database repository provides means for optimizing the execution of database queries that access XML resources in the database repository. Statistics about XML resources that are stored in the database repository are gathered, stored and utilized by a query optimizer to compute computational costs associated with each of multiple methods of accessing particular XML resources requested in a database query. Hence, the optimizer is able to select the most efficient query execution plan based on the costs of possible access paths. In one embodiment, specific statistics about the hierarchical structure of XML resources stored in the XML database repository are gathered, stored in a relational table in the database management system, and used to compute the selectivity of query predicates and the index cost associated with traversing one or more indexes to access requested XML resources.
    Type: Grant
    Filed: April 21, 2004
    Date of Patent: April 19, 2011
    Assignee: Oracle International Corporation
    Inventors: Fei Ge, Sivasankaran Chandrasekar, Nipun Agarwal, Ravi Murthy, Eric Sedlar
  • Patent number: 7925648
    Abstract: A query access plan for executing a database query is dynamically selected from among multiple alternative query access plans based on the availability of computer resources allocated for running the query. Preferably, a first query access plan is generated based on resources then available, and if it is possible to provide additional resources, one or more alternative plans are generated based on the additional resources. If an alternative plan is significantly better than the original plan based on a comparison of query related parameters, the alternative is chosen for executing the query. Additional resources for running the query may be provided from logically partitioned and/or grid environments.
    Type: Grant
    Filed: August 16, 2007
    Date of Patent: April 12, 2011
    Assignee: International Business Machines Corporation
    Inventors: Eric Lawrence Barsness, Mahdad Majd, Randy William Ruhlow, John Matthew Santosuosso
  • Patent number: 7925646
    Abstract: A compilation time estimator provides a quantified estimate of the optimizer compilation time for a given query optimizer. The estimator automates the optimizer to choose the right level of optimization in commercial database systems. The estimator reuses an optimizer's join enumerator to obtain actual number of joins, but bypasses plan generation to save estimation overhead, and maintains a small number of interesting physical properties to estimate the number of plans by using a linear regression model. The estimator uses the number of generated plans to estimate query compilation time.
    Type: Grant
    Filed: February 18, 2008
    Date of Patent: April 12, 2011
    Assignee: International Business Machines Corporation
    Inventors: Dengfeng Gao, Ihab F. Ilyas, Eileen Tien Lin, Guy Maring Lohman, Jun Rao
  • Patent number: 7925647
    Abstract: In one embodiment, a database server registers one or more functions included in a user-defined index that includes one or more auxiliary properties. The database server receives a query that specifies one or more parameters. A query optimizer generates a plurality of execution plans for evaluating the query. The query optimizer estimates a plurality of total costs respectively associated with the plurality of execution plans, where estimating a particular total cost associated with a particular execution plan comprises: invoking the one or more functions with one or more function arguments based on the one or more parameters; receiving one or more index costs that are associated with using the one or more auxiliary properties of the user-defined index to evaluate the query; and determining the particular total cost based on the one or more index costs.
    Type: Grant
    Filed: February 7, 2008
    Date of Patent: April 12, 2011
    Assignee: Oracle International Corporation
    Inventors: Dinesh Das, Wesley Lin, Seema Sundara
  • Patent number: 7921103
    Abstract: Techniques described herein adaptively select materialized view fragments for persistent maintenance. During an interval of time, the selected fragments are persistently maintained in the database system, while the other non-selected fragments are not persistently maintained as materialized view fragments. Over time, the composition of the set of selected fragments may change. As queries are executed in the database system over an interval of time, statistics including the frequency of access of each currently selected fragment during that interval are generated. At the start of the next interval of time, based on these statistics, some currently selected fragments may be unselected. Some currently non-selected fragments of one or more candidate materialized views may be selected based on the statistics.
    Type: Grant
    Filed: June 20, 2008
    Date of Patent: April 5, 2011
    Assignee: Yahoo! Inc.
    Inventors: Chris Olston, Jayavel Shanmugasundaram, Sandeep Pandey
  • Patent number: 7908267
    Abstract: An approach for using functional indexes as a primary filter is provided. A database query that contains a reference to a column of a table, but does not contain any reference to a functional index based on that column, is received by a database server. The database server adds to the database query a reference to the functional index on the column. The database server determines if the database query should be executed using the functional index. If the database server determines that the database query should be executed using the functional index, then the database query is executed with the functional index. If the database server determines that the database query should not be executed using the functional index, then data that indicates that the functional index is not to be evaluated when the database query is executed is stored.
    Type: Grant
    Filed: August 26, 2004
    Date of Patent: March 15, 2011
    Assignee: Oracle International Corporation
    Inventors: Robert J. Jenkins, Jr., Adiel Yoaz
  • Publication number: 20110055201
    Abstract: A system, method, and computer-readable medium that facilitate the optimization of frequently executed queries via automated index creation are provided. Standard optimizer strategies for dynamic index creation are utilized with query frequency information taken from a system's request cache. The described mechanisms provide a process of determining what indexes would be beneficial to query performance based on decisions and information from the optimizer that is ultimately responsible for the choice of index usage. Further, the plan cache is utilized in a manner that provides reliable information about the historical and anticipated frequency of specific queries.
    Type: Application
    Filed: September 1, 2009
    Publication date: March 3, 2011
    Inventor: Louis Burger
  • Patent number: 7895192
    Abstract: In a method for estimating a loaded execution runtime of database query, a database query for a database is received for a loaded database. Load information for the database is received. A prediction of query runtime tree is accessed. The prediction of query runtime tree is built from historical query information regarding historical database queries previously executed on the database. The prediction of query runtime tree includes a classifier function adjusted for an historical impact of loading of the database. The database query is processed through the prediction of query runtime tree, such that a loaded execution runtime of the database query is estimated based upon information pertaining to historical database queries similar to the database query.
    Type: Grant
    Filed: July 19, 2007
    Date of Patent: February 22, 2011
    Assignee: Hewlett-Packard Development Company, L.P.
    Inventors: Abhay Mehta, Chetan K. Gupta, Umeshwar Dayal
  • Patent number: 7890497
    Abstract: In an embodiment, estimated costs are used to pick the best refresh technique (e.g., method) for a given MV. In another embodiment, estimated costs are used to schedule the refresh of a set MVs in an order such that overall time to refresh is reduced, or in an order that uses the smallest overall time, for refreshing when compared to other alternative refresh schedules. In another embodiment, the estimated cost of refreshing each of a set of MVs is used to select the set of CPU resources to allocate to refreshing each MV. Based on the estimated costs, the allocation of CPU resources is chosen to be more optimal (e.g., use less CPU time) than other available sets of CPU resources. In an embodiment, when refreshing an MV, delayed index maintenance is chosen if a significant portion of the base table and/or the partitions of the table has changed.
    Type: Grant
    Filed: March 18, 2005
    Date of Patent: February 15, 2011
    Assignee: Oracle International Corporation
    Inventors: Nathaniel Keith Folkert, Abhinav Gupta, Andrew Witkowski
  • Patent number: 7890491
    Abstract: A technique for optimizing execution of a query that accesses data stored on a data store connected to a computer. Statistics on one or more automatic summary tables are used to determine an optimal query execution plan for the query. In particular, improved cardinality estimates are generated for one or more query execution plans for the query using statistics of one or more automatic summary tables that vertically overlap the query. These cardinality estimates are used to make more accurate cost estimates, thus improving the likelihood of determining the optimal query execution plan.
    Type: Grant
    Filed: September 26, 2000
    Date of Patent: February 15, 2011
    Assignee: International Business Machines Corporation
    Inventor: David E. Simmen
  • Patent number: 7890496
    Abstract: Disclosed are embodiments of a system for optimizing query processing in a federated information system. The system may be used to identify alternative query plans in a simulated environment and to calculate cost estimates associated with the alternative query plans, based not only on database statistics and query statements, but also based on workload and processing latencies associated with specific data source and with the federated information system as a whole. In addition the calculated cost estimates may also factor in data source availability and reliability. The system may use the alternative query plans and the associated cost estimates to influence query processing in a federated information system by feeding to the federated information system query plans that allow for cost-efficient query plan-level load distribution, cost-efficient query fragment plan-level load distribution, and load distribution based upon quality of service cost constraints.
    Type: Grant
    Filed: April 10, 2008
    Date of Patent: February 15, 2011
    Assignee: International Business Machines Corporation
    Inventors: Wen-Syan Li, Inderpal S. Narang
  • Patent number: 7882100
    Abstract: A database system with methodology for generating bushy nested loop join trees is described. In one embodiment, for example, an improved method is described for optimization of a query requesting data from a database, the method comprises steps of: generating a left deep operator tree for returning data requested by the query based on traversing a left deep operator tree search space; transforming the left deep operator tree into a semantically correct structure for returning data requested by the query; and building a query execution plan for returning data requested by the query based on the semantically correct structure.
    Type: Grant
    Filed: January 24, 2005
    Date of Patent: February 1, 2011
    Assignee: Sybase, Inc.
    Inventor: Mihnea Andrei
  • Publication number: 20110022585
    Abstract: An apparatus and method for a multi-partition query governor in a partitioned computer database system. In preferred embodiments a query governor uses data of a query governor file that is associated with multiple partitions to determine how the query governor manages access to the database across multiple partitions. Also, in preferred embodiments, the query governor in a local partition that receives a query request communicates with a query governor in a target partition to accumulate the total resource demands of the query on the local and target partitions. In preferred embodiments, a query governor estimates whether resources to execute a query will exceed a threshold over all or a combination of database partitions.
    Type: Application
    Filed: September 28, 2010
    Publication date: January 27, 2011
    Applicant: INTERNATIONAL BUSINESS MACHINES CORP.
    Inventors: Eric Lawrence Barsness, Robert Joseph Bestgen, John Matthew Santosuosso
  • Patent number: 7877378
    Abstract: A method of processing information relating to the execution of instructions by a database management system includes receiving an instruction; receiving execution information relating to the execution of the instruction by the database management system; comparing the instruction to one or more previously received instructions and determining whether, according to a predetermined equivalence criterion, the instruction matches one of the previously received instructions; and, if the instruction matches a previously received instruction, combining the execution information with execution information relating to the matching one of the previously received instructions to produce aggregate execution information. The aggregate information may be used, for example, in analysing and optimizing performance characteristics of the database management system, the databases under its control, and individual instructions.
    Type: Grant
    Filed: April 28, 2005
    Date of Patent: January 25, 2011
    Inventor: Jon Gray
  • Patent number: 7877373
    Abstract: Under automated alternate plan analysis, a query optimizer generates candidate execution plans. The candidate execution plans are selected as alternate execution plans for the query and execution. Output describing characteristics of each alternate execution plan and/or its execution is generated and/or compared. From this information, it may be determined, for example, whether results returned by any of the alternate execution plans are the same and whether the least cost execution plan is actually the most efficiently executed.
    Type: Grant
    Filed: July 10, 2006
    Date of Patent: January 25, 2011
    Assignee: Oracle International Corporation
    Inventor: Mohamed Zait
  • Patent number: 7877377
    Abstract: A database query optimizer creates a main access plan for a query, and also creates one or more subplans for the same query. The subplans are used in executing a query. When a subplan is generated, all tautological predicates (i.e., predicates that do not narrow the query) are dropped, thereby enhancing the reusability of stored subplans. When a query is processed, its tautological predicates are dropped, and if a subplan for the query with the dropped tautological predicates is found, the subplan is used to execute the query. If the query to be run has no main access plan in the cache, a main access plan is generated, and a subplan is also generated that corresponds to the query to be run, with all tautological predicates dropped. The same query may thus generate many subplans, enhancing the reusability of the query by storing each subplan in the access plan cache.
    Type: Grant
    Filed: June 3, 2004
    Date of Patent: January 25, 2011
    Assignee: International Business Machines Corporation
    Inventors: Paul Reuben Day, Brian Robert Muras
  • Patent number: 7877372
    Abstract: A method, computer program, and database system are disclosed for querying tables stored on multiple processing modules. The method includes specifying module group characteristics. A plurality of modules corresponding to the module group characteristics are then identified. The identified modules are sampled for statistics concerning at least one table specified in a query. An execution plan for the query is optimized based at least in part on the sampled statistics.
    Type: Grant
    Filed: May 24, 2004
    Date of Patent: January 25, 2011
    Assignee: Teradata US, Inc.
    Inventors: Arthur Vargas Lopes, Jerry Lynn Klindt, Kuorong Chiang, Donald Raymond Pederson, Pradeep Sathyanarayan
  • Patent number: 7877381
    Abstract: A way for progressively refining a query execution plan during query execution in a federated data system is provided. Re-optimization constraints are placed in the query execution plan during query compilation. When a re-optimization constraint is violated during query execution, a model of the query execution plan is refined using a partially executed query to form a new query execution plan. The new query execution plan is compiled. The compiled new query execution plan is executed.
    Type: Grant
    Filed: March 24, 2006
    Date of Patent: January 25, 2011
    Assignee: International Business Machines Corporation
    Inventors: Stephan Eberhard Ewen, Holger Kache, Volker Gerhard Markl, Vijayshankar Raman
  • Patent number: 7877379
    Abstract: Techniques are provided for delaying evaluation of expensive expressions in a query. Expensive expressions in the query are established by cost information or by looking up a list of known expensive expressions for a match. After an execution plan is determined by using the early evaluation technique, one or more equivalent execution plans is established. The one or more equivalent execution plans may include both a type of execution plans that delay evaluation of expensive expressions and a type of execution plans that do not. In addition, the one or more equivalent execution plans may include both parallelized and non-parallelized alternatives to the execution plan identified by the early evaluation technique. Finally, based on a set of criteria, which may include comparing cost information among all the equivalent execution plans generated thus far, the best execution plan is chosen for the query.
    Type: Grant
    Filed: September 30, 2005
    Date of Patent: January 25, 2011
    Assignee: Oracle International Corporation
    Inventors: Allison Waingold, Rafi Ahmed, Bhaskar Ghosh, Dinesh Das, Mohamed Zait
  • Patent number: 7877374
    Abstract: A query execution system is provided. The system includes a monitor component that detects data value changes in a database. An adjustment component initiates an intermediate query in view of detected data value changes, the intermediate query employed to adjust statistics related to a query plan optimization.
    Type: Grant
    Filed: December 1, 2006
    Date of Patent: January 25, 2011
    Assignee: Microsoft Corporation
    Inventors: Peter A. Zabback, Ian Jose
  • Publication number: 20110010361
    Abstract: A system, method, and computer-readable medium for automatic and dynamic control of optimizer settings in a large complex system environment are provided. The described mechanisms significantly increase the potential of achieving Service Level Goals for classes of queries where optimizer aggression is needed. Confidence threshold parameters are automatically controlled to facilitate generation of query execution plans to conform with associated Service Level Goals.
    Type: Application
    Filed: August 4, 2009
    Publication date: January 13, 2011
    Inventors: Louis Burger, Thomas Julien
  • Publication number: 20110010360
    Abstract: Queries that are determined to be too expensive to perform are prevented from being executed. Queries are determined to be too expensive based on the resources that are required to perform the query. For example, the query may be determined to be too expensive to perform based a length of a list the query requires to access, a number of lookups that may be performed relating to the query, a number of unique permissions accessed by the query, and the like. Queries that are deemed to expensive during normal operation may be performed during other times such that the impact of performing the query on other users is limited.
    Type: Application
    Filed: July 10, 2009
    Publication date: January 13, 2011
    Inventors: DINA A.M. AYOUB, MINGQUAN XUE, WILLARD BRUCE JONES, NARESH KANNAN, ANDREW SEAN WATSON, SIMON SKARIA
  • Patent number: 7865505
    Abstract: A machine implemented system and method that efficiently facilitates and effectuates exact similarity joins between collections of sets. The system and method obtains a collection of sets and a threshold value from an interface, and based at least in part on an identifiable similarity, such as an overlap or intersection, between the collection of sets the analysis component generates and outputs a candidate pair that at least equals or exceeds the threshold value.
    Type: Grant
    Filed: January 30, 2007
    Date of Patent: January 4, 2011
    Assignee: Microsoft Corporation
    Inventors: Arvind Arasu, Venkatesh Ganti, Kaushik Shriraghav
  • Patent number: 7853584
    Abstract: An apparatus and method for a multi-partition query governor in a partitioned computer database system. In preferred embodiments a query governor uses data of a query governor file that is associated with multiple partitions to determines how the query governor manages access to the database across multiple partitions. Also, in preferred embodiments, the query governor in a local partition that receives a query request communicates with a query governor in a target partition to accumulate the total resource demands of the query on the local and target partitions. In preferred embodiments, a query governor estimates whether resources to execute a query will exceed a threshold over all or a combination of database partitions.
    Type: Grant
    Filed: December 5, 2006
    Date of Patent: December 14, 2010
    Assignee: International Business Machines Corporation
    Inventors: Eric Lawrence Barsness, Robert Joseph Bestgen, John Matthew Santosuosso
  • Patent number: 7840554
    Abstract: Methods are described to simultaneously apply conjugates of equality, range, and in-list predicates. A first set of methods are described for the simultaneous application of equality predicates. A second set of methods are described for the simultaneous application of a mixture of range and equality predicates. A third method is described for the simultaneous applying a mixture of in-list predicates. The described methods allow for quick evaluation of complex predicates as they efficiently implement the computation done per record, while maintaining the same execution time irrespective of the number of fields.
    Type: Grant
    Filed: March 27, 2008
    Date of Patent: November 23, 2010
    Assignee: International Business Machines Corporation
    Inventors: F Ryan Johnson, Vijayshankar Raman, Garret Frederick Swart
  • Patent number: 7822740
    Abstract: A join operation is costed by estimating the input/output operations (disk swaps) that will be required for retrieval of tuples from the outer and inner tables. A specific method is presented for estimating the number of input/output operations needed for given inner and outer data tables, which method models the retrieval of randomly arranged data from that table.
    Type: Grant
    Filed: August 29, 2002
    Date of Patent: October 26, 2010
    Assignee: International Business Machines Corporation
    Inventor: Abdo Esmail Abdo
  • Publication number: 20100262633
    Abstract: A method, information processing system, and computer program storage product optimize the placement of database objects on a multiplicity of storage devices. A set of database objects are placed on a first storage device in a multiplicity of storage devices. Each storage device comprises differing characteristics. A query workload is run on the set of database objects that have been placed on the first storage device. Profiling information associated with the query workload that is running is collected. A subset of database objects is selected from the set of the database objects to be stored on a second storage device. The second storage device is a separate physical device from, and performs faster than, the first storage device. The subset of database objects is stored on the second storage device and all remaining database objects in the set of database objects on the first storage device.
    Type: Application
    Filed: April 14, 2009
    Publication date: October 14, 2010
    Applicant: INTERNATIONAL BUSINESS MACHINES CORPORATION
    Inventors: Bishwaranjan BHATTACHARJEE, Mustafa CANIM, George Andrei MIHAILA
  • Patent number: 7814091
    Abstract: Various techniques are described for processing database commands that include MINUS and/or INTERSECT operators. The queries containing the MINUS and/or INTERSECT operators are transformed to create a plurality of transformed queries. Each of the transformed queries produces the same result as the original query, but does not include the MINUS and/or INTERSECT operator. To achieve the same result set as the original query, the transformed queries employ equijoins, antijoins, and/or semijoins, and duplicate elimination operations. Costs are estimated for each of the various transformed queries. Based on the cost estimates, one of the transformed queries is selected as the query that is to be executed to perform the operations specified in the original query.
    Type: Grant
    Filed: September 27, 2005
    Date of Patent: October 12, 2010
    Assignee: Oracle International Corporation
    Inventors: Bhaskar Ghosh, Rafi Ahmed, Hermann Baer
  • Patent number: 7805411
    Abstract: Auto-tuning can be performed by receiving a database query language statement and performance information related to the statement, determining whether one or more performance statistics of the statement are available or missing in the performance information, and determining an auto-tuning hint for each missing statistic.
    Type: Grant
    Filed: September 7, 2004
    Date of Patent: September 28, 2010
    Assignee: Oracle International Corporation
    Inventors: Mohamed Ziauddin, Benoit Dageville, Mohamed Zait, Dinesh Das
  • Patent number: 7805436
    Abstract: A computer-implemented method, system and article of manufacture for managing workloads in a computer system, comprising monitoring system conditions and operating environment events that impact on the operation of the computer system, regulating execution of one or more queries based on the monitored system conditions and operating environment events using arrival rate throttles, and performing the queries to access data in a database for presentation and use to a user.
    Type: Grant
    Filed: June 11, 2007
    Date of Patent: September 28, 2010
    Assignee: Teradata US, Inc.
    Inventors: Anita Richards, Douglas P. Brown
  • Publication number: 20100241622
    Abstract: An n-gram based query processing apparatus and method are provided. A query processing is performed using only a portion of n-grams out of all n-grams with respect to the search key. A candidate set of documents having a possibility of including the search key is extracted using a posting list with respect to the portion of n-grams.
    Type: Application
    Filed: February 3, 2010
    Publication date: September 23, 2010
    Inventors: Hee Gyu JIN, Kyoung Gu Woo, Kyuseok Shim, Hyoungmin Park, Younghoon Kim
  • Patent number: 7797310
    Abstract: A method and apparatus for estimating the cost of streaming evaluation of XPaths is provided. Aggregate statistics are maintained by the database server upon initiation of a database function by the database administrator about the nodes of the XML document. Based upon these statistics and the complexity of the particular XPath query, an estimate of the cost of the query, in time and computing resources required, is computed.
    Type: Grant
    Filed: March 8, 2007
    Date of Patent: September 14, 2010
    Assignee: Oracle International Corporation
    Inventors: Sam Idicula, Ravi Murthy, Sivasankaran Chandrasekar, Nipun Agarwal
  • Patent number: 7797286
    Abstract: The present invention relates to a method and system for using an external program to generate and update statistical information used by a database optimizer for at least one of a database and a database management system, at least one table of data being replicated from the database to the external program, the external program generating statistical information on the replicated data and sending the generated statistical information back to the database for use with the optimizer. The replicated data residing with the external program may also be used by an application for the execution of database queries instead of the database itself with the application using a list of replicated tables or replicated data to determine where to target its queries.
    Type: Grant
    Filed: May 21, 2004
    Date of Patent: September 14, 2010
    Assignee: SAP AG
    Inventor: Volker Sauermann
  • Patent number: 7792824
    Abstract: An apparatus and method enable parallelism in a computer program using parallelism that is built-in to many modem database managers. The parallelism provided by a database manager in executing user-defined functions provides an easy way to implement parallelism for database and non-database functions in a computer program without the need of hard-coding all the parallelism support in the computer program itself. A database table is defined with instructions the user wants to execute in parallel. A user-defined function is then defined that executes the instructions in the table. A database operation is then defined for the table that invokes the user-defined function. When the database operation is executed, the database manager provides parallelism by executing multiple tasks in parallel in the user-defined function.
    Type: Grant
    Filed: January 8, 2004
    Date of Patent: September 7, 2010
    Assignee: International Business Machines Corporation
    Inventor: Mark John Anderson