This is an excellent book, written to accompany SQL Server 2012 but a lot of the theory and recommendations equally apply to previous versions of SQL Server.
It's well structured, clearly written and will improve understanding of why things done one way are better than possible alternatives. Experienced DBAs or developers will find something to learn from this book, people new to the SQL Server or specifically T-SQL may need an intro to T-SQL to go hand-in-hand with this one as it is not set at an introductory level.
I have heard there were some early copies that Amazon managed to print with print-setting issues but they are offering free replacements for all of these so I have no issues with recommending it to anyone.
I have written a chapter-by-chapter review of this book on "[...]" the first part of this review follows:
Indexes are a primary means of making performance improvements on SQL Server. This book aims to tell you all you need to know about indexes, and more importantly, provides a methodological approach to index tuning, turning what is often viewed as an art into a science.
Indexes are typically a dry subject matter, however they are fundamental to both understanding the structure of data and helping improve query performance. The examples provided make the subject interesting and accessible.
Before reading the book, I had a list of questions that I hoped would be covered, this would let me know how detailed the book was. It successfully answered most of my questions - showing me the book had both depth and quality. These questions included:
*Will it use practical examples to illustrate a point?
*Does it mention the plan cache as an input to the DTA?
*Does it identify the limit in the number of missing indexes?
*Will it tell me how to fix a corrupt index?
*Will it provide scripts to automatically optimize my databases?
I did wonder why anyone would want to write a book solely about indexes. After all, if you wanted to know about a given make of car, would you buy a book that's only about the car's engine? The answer I think, from a performance perspective, is yes.