Chapter 15. Performance Tuning

First you make it work. Then you make it work fast if you need to.

One of the most valuable tasks that an agile DBA can be involved with is performance tuning. This chapter explores the following topics:

  • The role of the agile DBA

  • Identifying a performance problem

  • Profiling a performance problem

  • Tuning the problem away

An Overview of Performance Tuning

When you work with structured technology, your performance tuning efforts generally fell into one of three categories:

System tuning.

Ensuring your hardware and middleware are configured properly.

Database performance tuning.

Modifying the database schema.

Data access performance tuning.

Modifying the way that applications interact with the database.

Although these categories are still applicable when you're working with object technology, things have changed a little. Figure 15.1 implies the situation is a little more complicated. It's important to remember that your object schema also has structure to it. In Chapter 14, you saw that your object schema was coupled to your data schema via mappings. For example, assume that the Employee class has a homePhoneNumber attribute. A new feature requires you to implement phone-number-specific behavior (for example, your application can call people at home). You decide to refactor home-PhoneNumber into its class, an example of third normal object form (3ONF, discussed in Chapter 5), and therefore update your mappings to reflect this change. Performance degrades as a result, ...

Get Agile Database Techniques: Effective Strategies for the Agile Software Developer now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.