Separation of Concerns and databases


I’m looking at a database table this morning, looking to optimize a few queries by adding some indexes. The trouble is, this table already has many indexes, all on different columns. So now I’m thinking, is this a smell that too many processes are concerned with this one table, all for different reasons?

Starting to think so, since those indexes are only used for one query or another. This looks like a situation to de-normalize and build report/view/query-specific tables to me.

Any other smells out there for violating SOLID principles at the database layer?

Scheduled tasks with Quartz.NET