If you have a mission critical database with a lot of writing to it and the requirement of millisecond response times then every index you implement needs to be balanced against the cost of writing.
Like other database objects, i.e. constraints and triggers that's absolutely a DBA job.
You would think! But during my years as a cloud consultant I was parachuted into a problem project. I observed a large well paid team doing weird shit like archiving all their data to keep their database fast.
It’s interesting that nobody there thinks: “There are much larger companies out there not archiving their data every month, what solution are they using?”
and we must note that the business side did eventually bring in external consultants because the project was clearly distressed. So it did eventually get corrected and I naturally tend to see the worse examples of this kind of thing, but yeah, it is possible to assemble a team of 8 developers and get unlucky such that not a single one knows anything about indexes or cloud databases in general.
I think it’s ridiculous since I come from an era where it was considered basic knowledge. I can’t imagine a software engineer that doesn’t have a passing familiarity with the goals of indexes (even if they don’t know exactly how they work).
But that’s turning out to be more and more untrue. Newer engineers really do not know.
Yes, it is or should be.
If you have a mission critical database with a lot of writing to it and the requirement of millisecond response times then every index you implement needs to be balanced against the cost of writing.
Like other database objects, i.e. constraints and triggers that's absolutely a DBA job.