From the abstract:
"A suggested query execution plan is used as a constraint on a guided optimization process such that all execution plans that do not conform to the suggested execution plan are eliminated as possible alternatives."
Clearly, they are not talking about enforcing a specific (single) execution plan, but rather, using a plan (or more likely a part of plan) to control which plans will be considered. Sounds like execution plan tree pruning, aka hinting.
You should read (at least the abstract) before you write.
I looked at this one briefly and it looks to me, at least on the surface, like nothing more than the ability to constrain (or hint, as Oracle calls it) the search plans that the query optimizer will consider.
Oracle implented an ability to embed "hints" within a query that forced the query optimizer to make some basic assumptions (such as requiring that a certain index be used, for example), in the 90's.
Another, less well known database, Ingres (now FOSS), already had a statistical optimizer in the early 90's: the optimizer would collect histogram information (as most modern databases do) about the distribution of rows within a table and use that information to limit the execution plans that could be considered by the optimizer. Ingres also had an ability to retain the execution plan from a previous optimization and reuse it later, when the same query was issued, which is another feature mentioned in the patent application.
Informix probably had something that would qualify as prior art as well, but I'm not familiar with their database product.
When all is said and done, it seems to me (as a DB person but certainly not a patent expert) that there is plenty of prior art for the exact kinds of things Microsoft is talking about in this particular application.
From the abstract: "A suggested query execution plan is used as a constraint on a guided optimization process such that all execution plans that do not conform to the suggested execution plan are eliminated as possible alternatives." Clearly, they are not talking about enforcing a specific (single) execution plan, but rather, using a plan (or more likely a part of plan) to control which plans will be considered. Sounds like execution plan tree pruning, aka hinting. You should read (at least the abstract) before you write.
Oracle implented an ability to embed "hints" within a query that forced the query optimizer to make some basic assumptions (such as requiring that a certain index be used, for example), in the 90's.
Another, less well known database, Ingres (now FOSS), already had a statistical optimizer in the early 90's: the optimizer would collect histogram information (as most modern databases do) about the distribution of rows within a table and use that information to limit the execution plans that could be considered by the optimizer. Ingres also had an ability to retain the execution plan from a previous optimization and reuse it later, when the same query was issued, which is another feature mentioned in the patent application.
Informix probably had something that would qualify as prior art as well, but I'm not familiar with their database product.
When all is said and done, it seems to me (as a DB person but certainly not a patent expert) that there is plenty of prior art for the exact kinds of things Microsoft is talking about in this particular application.