This is a discussion on Re: enforcing a plan (in brief) within the pgsql Hackers forums, part of the PostgreSQL category; --> Tom Lane wrote: > pgsql@mohawksoft.com writes: > > I think that is sort of arrogant. Look at Oracle, you ...
| |||||||
| FAQ | Members List | Calendar | Search | Today's Posts | Mark Forums Read |
| ||||
| Tom Lane wrote: > pgsql@mohawksoft.com writes: > > I think that is sort of arrogant. Look at Oracle, you can give the planner > > hints in the form of comments. > > Arrogant or not, that's the general view of the people who work on the > planner. > > The real issue is not so much whether the planner will always get things > right --- it won't, and no one imagines that it will ever be perfect. > The real issue is that we have limited manpower, and designing and > implementing a useful hint facility is a nontrivial project. (Not to > mention that maintaining such a thing in the face of frequent, > fundamental changes to the underlying planner and executor capabilities > would be an outright nightmare.) And the user maintenance of updating those hints for every release of PostgreSQL as we improve the database engine. -- Bruce Momjian | http://candle.pha.pa.us pgman@candle.pha.pa.us | (610) 359-1001 + If your life is a hard drive, | 13 Roberts Road + Christ can be your backup. | Newtown Square, Pennsylvania 19073 ---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings |
| ||||
| Neil Conway <neilc@samurai.com> writes: > - good, thorough documentation of the internals (naturally this would > help attract OSS developers as well) I don't know what software you work with but the Postgres source is far and away the best documented source I've had the pleasure to read. I think it's challenging to jump into because it's a legitimately complex piece of software, not because of any deficiency in the documentation. > - plugin APIs that make it relatively easy to replace the implementation > of a subsystem whole-sale (if there's a cost to these APIs in terms of > complexity or performance, it is perhaps not worth doing) And Postgres's extensibility features like plugin languages and indexing methods are one of its strengths. > - APIs that allow people to drive the planner and executor > programmatically (as in the original question) Actually, I think that would be a neat experiment. I've often wondered about an environment where SQL is the source language and it's compiled statically into data structures representing plans. But you have to be careful, it would be easy to come up with nonsensical plans, or even plans that would be infinite loops or cause crashes. -- greg ---------------------------(end of broadcast)--------------------------- TIP 7: don't forget to increase your free space map settings |