As all IT studies deal with database tables, entities and normal forms; nowadays, every developer "can" optimize databases and this became even simpler with the introduction of visual developer tools. Unfortunately, most designers put the main focus on creating flawless logical structure and don't consider the amount of data to work with and the required processing speed.
Databases created by following the basic design guidelines can work sometimes surprisingly long, but the time will always come when the system becomes slower and the users start complaining about increased response times. The most common solutions in such cases include adding bits and bobs to the database, creating new indexes and removing non-used data. Sooner or later the administrator will come up with the idea: let's upgrade hardware! Undoubtedly, this is the most popular solution and if the bottlenecks are found, it can achieve very good results.
The gradual slow-down of databases in line with the growing amount of data is a common problem, which has many components, like database technology, hardware, number of users, client application, etc. Therefore there is no generic solution for this. We experienced that sometimes even the smallest changes can result in major improvement. That's why it is always worth to check these options as well, before expensive investments are started by the Maintenance Company or developer.