REVIEW - SQL Performance Tuning

Title:

SQL Performance Tuning

Author:

Peter Gulutzan, Trudy Pelzer

ISBN:

0201791692

Publisher:

Addison-Wesley Professional (2003)

Pages:

495pp

Reviewer:

Christopher Hill

Reviewed:

June 2003

Rating:

★★★★★

Every DBA and SQL writer should have a copy to hand.

Take eight computers. Install a different database system on each (MySQL is included in the eight). Then work your way through the SQL language seeing how you can make significant portable improvements in performance.

This book is a labour of love. The authors try out all the wheezes and 'everybody knows that.' to produce a catalogue of ways to write portable SQL code (ANSI/ISO standard SQL:1999) that works swiftly over the major platforms.

The relative performance of the database is not compared (this is prohibited by the vendors) but for each item two snippets of SQL are compared and if there is a better than 5% improvement on a platform it gets an 'improvement' tick. Most items get 8 ticks. A very few have a negative impact on particular platforms.

The first third of the book covers the main parts of the SQL that cause bottlenecks: simple searches, Order By, Group By, Joins and Subqueries. They then move on to the physical aspects; Columns, Tables, Indexes, Constraints and Stored Procedures. The final third looks at ODBC, JDBC, Locks, Client/Server and Cost-based Optimisation.

Given the subject matter, inevitably the book has a 'cook book' feel, although the writing style does a great deal to reduce this. There is plenty of background information on why you should use this technique over another, so you can decide which is best for your circumstances. Some solid theory is also presented (including Btrees and normalisation) in a very approachable manner.

'Your DBMS is your pal. You should try to get to know it better and help it to help you'. This should not be your first book on SQL, but every DBA and SQL writer should have a copy to hand. Highly recommended.


Book cover image courtesy of Open Library.