>>>I've had a similar experience inthe past. What I did was every time there was a bug reported in a screen I took that opportunity to rewrite that screen. It spread out the cost of a rewrite and over time the code got a lot more stable. Well worth it in my opinion.
>>>
>>
>>What about database design? This is not easy to change / practically impossible.
>>
>>Also in this case most of the screens are dependent on each other.
>
>In my case the screens where pretty independent of each other. I left the database denormalized but did go and remove duplicate index. That was a quick search to find where they where using a duplicate index and replace it with the first index. It wasn't ideal but because of the cost I felt it was the best trade off.
I found the difference in indexes. One is in ascending order and one is in descending. They are used in the code - so not easy to get rid of them.
Not sure why it was programmed this way.
If it's not broken, fix it until it is.
My Blog