I spend a great deal of time working with Oracle technology. Often I’m called in to assist with diagnosing and resolving performance issues. Many of the applications I’ve worked with have experienced problems in part due to the developers (and to some degree database administrators) treating the database as if it was a black box. In other words, the team hadn’t spent any time becoming familiar with the database technology that was at the core of their application. In this regard, a fundamental piece of advice I have is do not treat the database as a nebulous piece of software to which you simply feed queries and receive results. The database is the most critical piece of most applications. Trying to ignore its internal workings and database vendor–specific features results architectural decisions from which high performance cannot be achieved.