19. A computer-implemented process contained on a computer-readable storage media having stored and encoded thereon computer-executable instructions for execution on a general-purpose computing device for incorporating query hints into a query optimizer of a database management system, comprising: using the general-purpose computing device to perform the following process actions: inputting a query; computing a directed acyclic graph for the query; creating a power hints language expression using a power hints language; constraining the query using the power hints language expression that is appended to the query and contains a predicate; deriving candidate matches for subplans of an execution plan for the query using the power hints language expression and the directed acyclic graph; inputting OR nodes from the directed acyclic graph; implementing a first memoization to guarantee that each OR node is computed once; selecting an OR node to process and a child alternative for the selected OR node; implementing a second memoization to guarantee that each OP node in the child alternative is processed once; selecting an OP node to process; creating an extended OP node from the selected OP node; setting any children of the extended OP node; determining cost for the extended OP node; computing candidate matches for the extended OP node from the derived candidate matches; and extracting a revised query execution plan having a lowest cost and satisfying constraints given the power hints language expression.
20. The computer-implemented process of claim 19 , further comprising: determining whether the extended OP node is a non-dominated node; and if so, then adding the extended OP node to a set of extended OP nodes to aid in extracting the revised query execution plan.