Most performance gains come from query tuning, based on good database design. At the application layer, these issues are relevant:
Decision-support systems (DSS) and online transaction processing (OLTP) require different performance strategies.
Transaction design can reduce performance, since long-running transactions hold locks and reduce access to data.
Relational integrity requires joins for data modification.
Indexing to support selects increases the time required to modify data.
Auditing for security purposes can limit performance.
Options to address these issues by using:
Remote or replicated processing to move decision support off the OLTP machine
Stored procedures to reduce compilation time and network usage
The minimum locking level that meets application needs