Application Optimizing is more important in Oracle Performance Tuning
Applications often are an end user’s only access to the database. Only through an application can the end user peek into the database. In other words, the application offers database visibility to the end user. If the applications are up and running, the database is available. If not, as far as the end user is concerned, the database is down and unavailable. Similarly, if the applications are poorly written or unturned and appear slow, then as far as the end user is concerned, the database is slow.
Again, if the reports or ad hoc queries cannot run within the allotted time, then it is same as the database being unavailable. No matter how hard your DBA works to keep the database fast, all his or her efforts are futile if the application is slow or prone to constant failure. I have observed countless situations at end-user sites where the database and poor DBA take the blame for a slow-moving slug of an application.
Accordingly, it is highly necessary to architect applications appropriately right from the stage of inception. While designing and developing the application, the designers and developers have to keep availability and performance foremost in their minds. Just rolling out applications mindlessly with a single dimensional objective of meeting the functional requirements is never the correct approach. Unfortunately, it is the most resorted to option in real life. As long as an application rolls out of time and meets all functional requirements, end users, management, and the development team themselves are happy. That is a very short-sighted view, however, which more often than not leads to unhappiness very soon. It starts with the end user being unhappy, escalates to the management being unhappy, and goes up and then down the chain until the database and the DBA are pointed to as the source of the unhappiness. After all, what could possibly be wrong with the application, right? It’s a simple one that merely does some inserts and deletes, right? On the other hand, the application may be acknowledged to be highly complex, so complex that it is thought to be futile to try to mess with it.
It may be thought of as a black box, and tuning it may take months and may not provide the necessary gratification in terms of enhanced speed and/or availability. As for the database tuning, it may appear to be much faster and easier and provide more bang for the buck. People live with all kinds of fallacies. The preceding statements may not necessarily be fallacies in all situations. More often than not, however, they are. It requires quite a bit of analysis to determine what is appropriate and what is not.