Chapter 9. Performance tuning

 

This chapter covers

  • Planner basics
  • Reading plans
  • Common query patterns
  • Geometry processing for better performance
  • Influencing plans

When dealing with several tables at once—especially large ones—tuning queries, tables, and geometries becomes a major consideration. The way you express your queries is also important because the same logic expressed with two different SQL statements can have vastly different performance. The complexity of geometries, memory allocation, and even storage affect performance.

The query planner has many options to choose from, especially when joining tables. The planner can choose certain indexes over others, the order in which it navigates these indexes, and which navigation strategies (nested loops, bitmap scans, sequential scans, index scans, hash joins, and the like) it will use. All these play a role in the speed and efficiency of the queries.

9.1. The query planner

9.2. Using explain to diagnose problems

9.3. Indexes and keys

9.4. Common SQL patterns and how they affect performance

9.5. System and function settings

9.6. Optimizing geometries

9.7. Summary