Previous Topic

Next Topic

Design Issues and Performance

Good query performance requires planning.

Carefully plan the design of the following:

For help in identifying performance issues, see the chapters "Ensuring Data Integrity," "Maintaining Databases," "Maintaining Storage Structures," and "Using the Query Optimizer."

Other important design issues are:

Previous Topic

Next Topic

Hierarchy for Diagnosing Design-based Performance Problems

A thorough performance analysis must include each item in the following list. Areas are listed in the order of greatest gain. For example, if your database design is flawed, perfect server configuration cannot help you avoid query performance problems.

  1. Database design
  2. Storage structures and index design. See the chapter "Choosing Storage Structures and Secondary Indexes."
  3. Key design. See the chapter "Choosing Storage Structures and Secondary Indexes."
  4. Constraints. See the chapter "Managing Tables and Views."
  5. Validation checks and integrities. See the chapters "Ensuring Access Security" and "Ensuring Data Integrity."
  6. Grants and views. See the chapter "Ensuring Access Security."
  7. Query design.
  8. Application design.
  9. Concurrency. See the chapter "Understanding the Locking System" and the System Administrator Guide.
  10. DBA utilities and maintenance. See the chapter "Maintaining Databases."
  11. Operating system resources and tuning. See the System Administrator Guide.
  12. Server configuration. See the System Administrator Guide.

Previous Topic

Next Topic

Storage Structures and Index Design and Performance

Choosing the correct table storage structure for your needs can improve concurrency and query performance. Remember that there is no substitute for testing and benchmarking your queries.

For tips on choosing storage structures and advantages and disadvantages of the various storage structures, see the chapter "Choosing Storage Structures and Secondary Indexes." For information on modifying and compressing storage structures and a discussion of overflow, see the chapter "Maintaining Storage Structures."

Previous Topic

Next Topic

Key Design and Performance

Key design is a complex subject. For additional information on keys, see the chapter "Choosing Storage Structures and Secondary Indexes."

Previous Topic

Next Topic

Characteristics of Good Keys

Good keys have the following features:

All keyed storage structures can enforce unique keys. They are:

Previous Topic

Next Topic

Characteristics of Bad Keys

Bad keys have the following features:

Previous Topic

Next Topic

Multi-Column Keys and Performance

Multi-column keys have special issues. If used improperly in your query, the key cannot be used and the search does a full-table scan.

Keep the following in mind:

Previous Topic

Next Topic

Surrogate Keys and Performance

When you use a short surrogate or internal key to replace a bad key, or because there is no good key, consider the performance trade-offs. The set processing of data includes the overhead of deriving the key.

Surrogate key types include:

Previous Topic

Next Topic

Query Design and Performance

Query design is a complex subject. Following these tips will improve the performance of your queries:


© 2007 Ingres Corporation. All rights reserved.