3 ms·
SQL is a declaration of "what should be done". Hints - procedural directives, ie. "it should be done this way". Modern optimizers do pretty nice job so hints ar
by VladRussian 16y ago
SQL is a declaration of "what should be done".
Hints - procedural directives, ie. "it should be done this way". Modern optimizers do pretty nice job so hints aren't ususally necessary, yet taking away control which is extremely important in 10% cases just because it isn't necessary in 90% is just plain stupid.
That one more reason explaining why Oracle or MS can charge so much - because no viable alternative.
And i fail to see how supporting hints would prevent improving the optimizer. Oracle does it extremely well. MS seems too.
- neilc 16y agoMS and Oracle also have large teams of people that work full-time on improving the optimizer. With, the handful of people with the skills and inclination to work on the Postgres optimizer don't view hints as a high priority.
- VladRussian 16y agothere is a difference between statements : (typical marketing style BS coverup of missing feature) "you don't need hints" and (honest) "we think that our limited resources should be all working on optimizer. In our view the priority of a few percent of cases where hints are necessary is much less than the rest that is covered by optimizer". The latter shows that the people are rational and open to reason. The former shows that ideology and resulting BS byproduct have overtaken the project.
- neilc 16y agoI agree that saying that hints have zero value is silly, but the blog post is just Josh's opinion. If you read the discussions on this topic on the pgsql-hackers list, you'll find a more balanced view.
- Devilboy 16y agoI'm pretty sure SQL Server's query hints are just placebos!