> adding hints makes your queries dependent on current performance
I don't understand this, can you explain.
> Assuming you're a good DBA, you can be better than the optimizer because you understand the whole system
That's inaccurate. As a DBA I can understand the system better at higher level, but the database has statistics which gives it typically better understanding of the data distribution at a lower level. Indeed I could get that information and feed it into the query plan via hints, but that's going to be an enormous amount of my time, and I would have to do it every time the query is run whereas the database can keep an eye on the statistics as it varies and rebuild the query over time.
Equally, if an index is added you can expect the database to start using it immediately without adding hints. Etc
I am a fairly(?) skilled DBA who has a reasonable idea of what goes on underneath the hood, I do have some idea what I'm talking about.
I don't understand this, can you explain.
> Assuming you're a good DBA, you can be better than the optimizer because you understand the whole system
That's inaccurate. As a DBA I can understand the system better at higher level, but the database has statistics which gives it typically better understanding of the data distribution at a lower level. Indeed I could get that information and feed it into the query plan via hints, but that's going to be an enormous amount of my time, and I would have to do it every time the query is run whereas the database can keep an eye on the statistics as it varies and rebuild the query over time.
Equally, if an index is added you can expect the database to start using it immediately without adding hints. Etc
I am a fairly(?) skilled DBA who has a reasonable idea of what goes on underneath the hood, I do have some idea what I'm talking about.