We’ve all seen them, the poorly (or barely!!) normalized database. Every time you dig into the thing you just groan with pain. You go into it to fix one thing and you find half-dozen other things you want to fix as well. But how much work should you put into the thing?
Earlier in my career I would spend all sorts of time just fixing away. It’s so much fun to tweak some code and see it run 2, 3, 4 or more times faster then before. But do you really need to fix it? From a business point of view, can you justify the time? If you made that piece of code run 5 times faster, would anybody notice or care? And would all your hard work have a positive impact on the bottom line of your employer?
Just because you can fix something, doesn’t mean you should spend the time. There are plenty of databases that suffer from poor design, bad coding practice, lack of useable indexes, etc. but still manage to do an OK (but not great) job. Maybe they do not support many users, or they are a bit slow, but nobody complains too much about it. Maybe they support a declining part of the business. Maybe you would be providing more value to the business doing something else.
Just my 2 cents worth!