Introduction
In the previous chapter, we saw how to design an application which performs well (or has less chance to perform badly) by applying some simple rules of thumb, namely, connection management, reusable code, reducing requests to the database, schema denormalization, and the use of dynamic SQL.
In this chapter, we will look at some structures available in Oracle databases that store data and improve the access time—that is, the time needed to retrieve data—when the data is queried.
The first recipes relate to tables—the most used storage structure—with useful tips to avoid bottlenecks related to data stored in tables.
We will then move on to indexes (and inspect different index flavors). At the end of the chapter, we will finally see recipes related to index organized tables and partitioning options. Choosing the right structure to store data can drastically improve the performance of applications; using the right index can speed up our queries, as can introducing drawbacks in insert...