SQL Tuning and over one million other books are available for Amazon Kindle. Learn more



or
Sign in to turn on 1-Click ordering
Sell Us Your Item
For a $3.80 Gift Card
Trade in
More Buying Choices
Have one to sell? Sell yours here
Start reading SQL Tuning on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.
Sorry, this item is not available in
Image not available for
Color:
Image not available

To view this video download Flash Player

 

SQL Tuning [Paperback]

Dan Tow
4.6 out of 5 stars  See all reviews (17 customer reviews)

List Price: $39.95
Price: $26.88 & FREE Shipping. Details
You Save: $13.07 (33%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.
Want it Thursday, May 23? Choose One-Day Shipping at checkout. Details

Formats

Amazon Price New from Used from
Kindle Edition $17.27  
Paperback $26.88  
Shop the new tech.book(store)
New! Introducing the tech.book(store), a hub for Software Developers and Architects, Networking Administrators, TPMs, and other technology professionals to find highly-rated and highly-relevant career resources. Shop books on programming and big data, or read this week's blog posts by authors and thought-leaders in the tech industry. > Shop now

Book Description

December 1, 2003

A poorly performing database application not only costs users time, but also has an impact on other applications running on the same computer or the same network. SQL Tuning provides an essential next step for SQL developers and database administrators who want to extend their SQL tuning expertise and get the most from their database applications.

There are two basic issues to focus on when tuning SQL: how to find and interpret the execution plan of an SQL statement and how to change SQL to get a specific alternate execution plan. SQL Tuning provides answers to these questions and addresses a third issue that's even more important: how to find the optimal execution plan for the query to use.

Author Dan Tow outlines a timesaving method he's developed for finding the optimum execution plan--rapidly and systematically--regardless of the complexity of the SQL or the database platform being used. You'll learn how to understand and control SQL execution plans and how to diagram SQL queries to deduce the best execution plan for a query. Key chapters in the book include exercises to reinforce the concepts you've learned. SQL Tuning concludes by addressing special concerns and unique solutions to "unsolvable problems."

Whether you are a programmer who develops SQL-based applications or a database administrator or other who troubleshoots poorly tuned applications, SQL Tuning will arm you with a reliable and deterministic method for tuning your SQL queries to gain optimal performance.


Frequently Bought Together

SQL Tuning + SQL Cookbook (Cookbooks (O'Reilly))
Price for both: $51.52

Buy the selected items together


Editorial Reviews

About the Author

Dan Tow is an independent consultant, operating under the banner SingingSQL (www.singingsql.com). His experience solving Oracle-related performance problems goes all the way back to his 1989 hire by Oracle Corporation. During most of his tenure at Oracle, Dan focused on the performance of Oracle Applications, managing the performance group for that division. In this role, he found a fertile testing ground for his SQL tuning method applied to the huge set of complex SQL included in those applications, including both online SQL and diverse batch processes. In 1998, Dan left Oracle to lead performance for TenFold Corporation, where he applied the same methods to tuning questions on DB2, and SQL Server, and Sybase, as well as on Oracle. In 2002, Dan started his own business, SingingSQL, through which he offers diverse database-related tuning services, including SQL tuning and systematically analyzing load to learn which SQL should be tuned. He has introduced his SQL tuning method to over 1,000 people in short lectures, and now offers in-depth courses in the material, using this book as textbook. Dan has a Ph.D. in chemical engineering from the University of Wisconsin at Madison. He lives in Palo Alto, California, and can be reached at dantow@singingsql.com.


Product Details

  • Paperback: 338 pages
  • Publisher: O'Reilly Media; 1st edition (December 1, 2003)
  • Language: English
  • ISBN-10: 0596005733
  • ISBN-13: 978-0596005733
  • Product Dimensions: 7 x 0.7 x 9.2 inches
  • Shipping Weight: 1.2 pounds (View shipping rates and policies)
  • Average Customer Review: 4.6 out of 5 stars  See all reviews (17 customer reviews)
  • Amazon Best Sellers Rank: #98,552 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

Most Helpful Customer Reviews
75 of 75 people found the following review helpful
5.0 out of 5 stars Quick solutions for difficult optimization problems January 24, 2004
Format:Paperback
"Tell me something I don't already know", that's what crosses my mind every time I pick up a new performance, tuning book. If you're like me, 90% of the content in any DBA book in the store is 'old hat'.

This book is refreshing. It doesn't waste time going over all of the stuff you learned years ago.

Knowing how to read an execution plan or when to pick a hash join over a nested loop join is not what this book is about. There are plenty of books on the market that cover basic, vendor specific, query tuning. I personally have about 20 of these books on my bookshelf here at home. (Over the years I've worked on Sybase, SQL Server, Informix XPS, & Oracle.)

Here's the deal...

Anyone who has worked with really big systems will eventually run into an optimization problem that seems to be unsolvable. You can try histograms, compressed key indexes, partitioning, pre-joined indexes, and materialized views, but you still can't get the performance that's being requested. For a DBA, it can be a very frustrating dilemma. This is especially true when you know from the data volume that you should be able to get there.

The truth is, optimizers can't always get the right solution, even with correct statistics. There are some good technical reasons why this is true, but that's out of scope for my review. In any case, that's where this book comes to the rescue. I feel that it gives you some insight into the optimization problem and tells you how to correct the problems that your optimizer can't figure out.

This book is NOT for use on 95% of your queries. Most optimizers will pick the correct access plan if the DBA does his/her job correctly and collects the appropriate statistics.

In my experience, I get two types of problems that I have trouble getting the optimizer to solve:

#1. Joining together a large number (8-14) of tables. At least 1 or 2 of the tables have over 30G of real data. By `real data', I mean that 30G of data is actually populated.

#2. Making high transaction queries read the fewest amount of buffers in order to get rid of latching problems.

After I read the first few diagramming chapters of this book, I thought I'd give it a try on a problem that was recently solved at work. I was surprised. It worked, and even with my clumsiness with the method, it only took me about 2 hours to get a solution. It took us about 3 days at work. Our trial and error solution was slightly better, than what I came up with using the author's method. However, it was so close that had I used his method, I most certainly would have gone on to another problem. (The author's solution was strange because I would never have solved the join order the way that he did. His solution actually had me pick the largest table, out of 10, to drive the query. I thought this was odd because my test query had some very good filters on smaller tables.)

These were the results per execution:

Optimizer - 100K buffers.
Trial & Error - 1700 buffers.
Book method (basic graphing) - 2000 buffers.

If I had known about this book, I could have solved this problem in a few hours. Instead it took several DBA's, a few day's time to come up with a solution that was only marginally better.

Since this method appeared to work so well for OLTP, I went back and looked at a very large OLAP query that I had worked on last year. I and several developers had spent days trying to get it to run faster. Even with the author's method, I still couldn't make it better, but I was happy to see that the join order picked by the optimizer was almost identical to what I had calculated using the book.

I plan on studying this guide over and over until I've memorized this method. I don't think it will solve every problem, but I think it gives you an edge over using experience alone.

Before you purchase this book...

Keep in mind, that SQL tuning is fundamentally *not a simple problem*, so readers should not buy the book expecting an easy list of simple tips and tricks. (If the problem was easy, the optimizer likely would have got it right in the first place, and you wouldn't be tuning!) The correct solution to the problem is fairly complex, as complex as it *needs* to be.

Also, it's not noted anywhere, but I gathered that the author assumes that the reader will have basic high school Algebra skills, and will have taken a basic statistics course in order to fully understand the reasoning behind the explanations. Although, Algebra and statistical knowledge are probably not necessary to learn the tuning method presented. I state this because I told a good friend about this book, and his first question was, "Does it have a lot of math to go through?" So, if statistics is not your thing, don't worry. The author only presents enough information to give you a level of comfort that his method is based on mathematics. He doesn't require that you know "graph theory" or anything like that.

By the way, our change from 100K buffers per transaction to 1700 buffers, dropped the CPU utilization for the website that was running the OLTP query by about 70%. That was on a 16 CPU, Sun/Solaris box. So proper SQL tuning can save you a lot of $$$.

Was this review helpful to you?
17 of 17 people found the following review helpful
5.0 out of 5 stars A Work of Genius July 21, 2006
Format:Paperback
I have withdrawn my earlier review because I did not properly understand the importance of this book until the second reading. That is a difficult admission to make since my business is database performance tuning.

This book is about tuning SQL queries in a systematic and scientific manner. It is above all about determining the optimum order in which the query engine should access the tables involved. My quibble was that join order is only a part of the whole tuning problem and most of the time the query optimizer got it right anyway. While this is true, I see now that it misses the point.

The fact that the optimizer gets it right so often allows us to take join order for granted. But how do we know the optimizer got it right unless we know what the optimum join order is? That is what this book teaches, a methodology and an elegant system of notation that allows us to determine the optimum join order of the most complex query. As the author points out, the number of possible join orders increases factorially with the number of tables involved. An 8 table join has 40,320 possible join orders. That rules out trial and error for all but the simplest queries.

It turns out that analyzing and diagramming according to Tow's method gives you a deep architectural understanding of the query and the problems that face you. It gives you a plan to which you can apply the tools of the trade, indexes, code optimization, etc.

This is a book that will be on the shelf of serious performance tuning professionals for as long as SQL is the language of data manipulation.
Comment | 
Was this review helpful to you?
11 of 11 people found the following review helpful
5.0 out of 5 stars A "Must Have" book for DBA's and SQL Developers February 27, 2004
Format:Paperback
For many years the process of SQL Tuning has been considered an "art". SQL tuning books written to date have presented guidelines and "things to try" but "SQL Tuning" by Dan Tow is different. This is the first book I have seen that presents a clear methodology to attack the problem in a scientific/mathematical way and includes a diagramming technique to visualize the components of a query that affect performance. Dan's book has gone a long way in helping to transform SQL tuning from an art to a science.

The first four chapters of the book cover some of the subjects that are found in other SQL tuning books, and focus on the important points without delving too deeply into database internals. The really "good stuff" is covered in chapters 5 through 10, which includes how to "draw" a query diagram, and the procedures to follow to derive an optimal join order. The problems/examples presented and resolved in these chapters help the reader get a start on understanding the methodology, which can then be applied to actual tuning problems as they are encountered.

So far I have applied this technique to about 20 tuning problems I have encountered on the job using the Oracle RDBMS. I still consider myself a relative novice in using the methodology, but for each of the 20 problems I have been able to significantly reduce elapsed time and resource consumption (gets/reads). Also, these results were achieved in a matter or hours, rather than days. The query diagram has even facilitated finding "missing joins" in some of the queries without having a knowledge of the particular application.

This book is a "must have" for DBA's and developers and I highly recommend it.

Comment | 
Was this review helpful to you?
Most Recent Customer Reviews
3.0 out of 5 stars Could have been better
This is an OK book to get you started with SQL tuning. It is not an easy read. The explanations on reading
explain plan are not very clear and I feel the author could have... Read more
Published on December 13, 2010 by Mj
4.0 out of 5 stars This Old Dog learned a new trick
Like Dan, I have been doing Oracle for a long time (since 1984). I offer three opinions about Dan's book:

1) learning how to do query diagrams is great for people who... Read more
Published on June 28, 2010 by Kevin Meade
5.0 out of 5 stars Excellent resource for the Oracle DBA
Dan Tow has created a marvelous resource. With complex queries, it is often uncertain what is the best query plan. Dan Tow takes the mystery out of that process. Read more
Published on January 9, 2007 by Dennis W. Willaims
5.0 out of 5 stars The first real SQL Tuning method.
I have worked with Oracle databases and SQL tuning since 1987, and the reason I recommend Dan's book so highly to anyone working with SQL is that his method is the first real... Read more
Published on February 27, 2006 by Miracle
5.0 out of 5 stars excellect condition
like new as described,fast shipment.
Published on January 15, 2006 by Gerald J. Gomes
5.0 out of 5 stars A Real Job Saver
I was entangled in the web of horrible response time queries, not knowing what to do (except the darn hit ratios were maximum). Read more
Published on July 27, 2005 by Fahd Mirza
5.0 out of 5 stars Absolute needed book for a SQL tuning specialist
As a senior data warehousing specialist, I used several tools and books for tuning SQL so far and none of is giving the methodology needed. Read more
Published on May 17, 2005 by Bayindir Ertugrul
5.0 out of 5 stars The Best SQL Tuning book on the market
Having read most of the Oracle performance tuning books on the market, I have to say this is absolutely the best pure SQL tuning book you can buy. Read more
Published on August 17, 2004 by Ryan Gaffuri
5.0 out of 5 stars Great coverage, an essential reference
If you are a DBA or developer, working daily with databases that support SQL, you need this book. It covers in better detail than any other book I've seen, all the behind the... Read more
Published on June 11, 2004 by Douglas Rowe
4.0 out of 5 stars Think through your query and find a solid method.
I found this book helpful, and have started to use these techniques with success. I specifically was pleased that the techniques are portable across different Database vendors. Read more
Published on March 31, 2004 by David Rawheiser
Search Customer Reviews
Only search this product's reviews

What Other Items Do Customers Buy After Viewing This Item?


Forums

There are no discussions about this product yet.
Be the first to discuss this product with the community.
Start a new discussion
Topic:
First post:
Prompts for sign-in
 



So You'd Like to...


Create a guide


Look for Similar Items by Category