What can you do when database performance doesn't meet expectations? Before you turn to expensive hardware upgrades to solve the problem, reach for this book. Refactoring SQL Applications provides a set of tested options for making code modifications to dramatically improve the way your database applications function. Backed by real-world examples, you'll find quick fixes for simple problems, in-depth answers for more complex situations, and complete solutions for applications with extensive problems. Learn to:
Determine if and where you can expect performance gains
Apply quick fixes, such as limiting calls to the database in stored functions and procedures
Refactor tasks, such as replacing application code by a stored procedure, or replacing iterative, procedural statements with sweeping SQL statements
Refactor flow by increasing parallelism and switching business-inducted processing from synchronous to asynchronous
Refactor design using schema extensions, regular views, materialized views, partitioning, and more
Compare before and after versions of a program to ensure you get the same results once you make modifications
Refactoring SQL Applications teaches you to recognize and assess code that needs refactoring, and to understand the crucial link between refactoring and performance. If and when your application bogs down, this book will help you get it back up to speed.
Stephane Faroult first discovered relational databases and the SQL language back in 1983. He joined Oracle France in their early days (after a brief spell with IBM and a bout of teaching at the University of Ottawa) and soon developed an interest in performance and tuning topics. After leaving Oracle in 1988, he briefly tried to reform and did a bit of operational research, but after one year, he succumbed again to relational databases. He has been continuously performing database consultancy since then, and founded RoughSea Ltd in 1998.
Comments about oreilly Refactoring SQL Applications:
For developers of applications making advanced usage of SQL based database engines, "Refactoring SQL Applications" is a step-by-step guide for improvement of overal performance. St_phane Faroult takes his readers on a guided tour through the process of refactoring application code related to SQL and SQL data definition and manipulation statements: all the way from addressing possible problems to make sure they wont happen again.
By performing tests and providing statistics of the given code on three main database types (Oracle, MSSQL and MySQL), Faroult not only gives a broad view, but also stresses the differences in implementation of the SQL standards. All this information is very useful to the application developer.
In the first chapters, Faroult walks us through the different kinds of problems that can cause our performance issues. From problems in the client, application, code to indexing and from refactoring the iterative execution of one tiny statement to performance boosts to monster SQL statements. Everything is put into perspective: the boost gained by fixing issues most developers think of important can sometimes almost be nullified with statistics.
The last chapter is the guide to the real world process of refactoring. Faroult correctly starts on the assessment of performance problems in code you, as a developer, do not know: as he states, most refactoring jobs are done by someone that did not write the original application code.
The only drawback of this book might by its inaccessible language. It sometimes takes me, as a non-native speaker of English, a re-read or two to understand what the author intends to say. But of course, this book has enough useful content to compensate for that.