Write optimized queries. This book helps you write queries that perform fast and deliver results on time. You will learn that query optimization is not a dark art practiced by a small, secretive cabal of sorcerers. Any motivated professional can learn to write efficient queries from the get-go and capably optimize existing queries. You will learn to look at the process of writing a query from the database engine’s point of view, and know how to think like the database optimizer.
The book begins with a discussion of what a performant system is and progresses to measuring performance and setting performance goals. It introduces different classes of queries and optimization techniques suitable to each, such as the use of indexes and specific join algorithms. You will learn to read and understand query execution plans along with techniques for influencing those plans for better performance. The book also covers advanced topics such as the use of functions and procedures, dynamic SQL, and generated queries. All of these techniques are then used together to produce performant applications, avoiding the pitfalls of object-relational mappers.
This second edition includes new examples using Postgres 15 and the newest version of the Postgres Air database. It includes additional details and clarifications about advanced topics, and covers configuration parameters in greater depth. Finally, it makes use of advancements in NORM, using automatically generated functions.
What You Will Learn
-
Identify optimization goals in OLTP and OLAP systems
- Read and understand Postgre SQL execution plans
-
Distinguish between short queries and long queries
-
Choose the right optimization technique for each query type
-
Identify indexes that will improve query performance
-
Optimize full table scans
-
Avoid the pitfalls of object-relational mapping systems
-
Optimize the entire application rather than just database queries
Who This Book Is For
IT professionals working in Postgre SQL who want to develop performant and scalable applications, anyone whose job title contains the words “database developer” or “database administrator’ or who is a backend developer charged with programming database calls, and system architects involved in the overall design of application systems running against a Postgre SQL database
Tabla de materias
1. Why Optimize?
2. Theory – Yes, We Need It!
3. Even More Theory Algorithms
4. Understanding Execution Plans
5. Short Queries and Indexes
6. Long Queries and Full Scans
7. Long Queries: Additional Techniques
8. Optimizing Data Modification
9. Design Matters
10. Application Development and Performance
11. Functions
12. Dynamic SQL
13. Avoiding the Pitfalls of Object-Relational Mapping
14. More Complex Filtering and Search
15. Ultimate Optimization Algorithm
16. Conclusion
Sobre el autor
Henrietta Dombrovskaya is a database researcher and developer with over 40 years of academic and industrial experience. She holds a Ph D in Computer Science from the University of Saint Petersburg, Russia. At present, she is a Database Architect at DRW Holdings, Chicago, Illinois. She is an active member of the Postgre SQL community, a frequent speaker at the Postgre SQL conference, and the local organizer of the Chicago Postgre SQL User Group. Her research interests are tightly coupled with practice and are focused on developing efficient interactions between applications and databases.
Boris Novikov’s experience includes leading post-graduate research groups and advising dozens of Ph D students, while partnering and collaborating with industrial clients. His research interests are in the broad area of information management and include design, development, and tuning of databases, applications, and database management systems (DBMSs). He also has interests in distributed scalable systems for stream processing and analytics..
Anna Bailliekova is Senior Data Engineer at Urban Footprint, where she works on data platform tools and cloud ops for geospatial applications. Previously, she worked in data engineering at Zendesk, and held a variety of DBA and BI roles at Epic. Her writing can be found in the newsletter
Better Streets MKE. She received her undergraduate degree with College Honors in Political Science and Computer Science from Knox College in Galesburg, Illinois.