Book description
SQL Server 2008 Query Performance Tuning Distilled presents a direct trouble–shooting methodology for identifying poorly-performing stored procedures and queries, isolating the causes of that poor performance, and fixing the underlying problems. Each chapter is dedicated to one of the top causes of poorly performing queries and shows methods for identifying and dealing with the problems in that chapter's domain. Emphasis is always put upon or placed upon practical methods that you can put to immediate use in your day-to-day work. SQL Server 2008 functionality, tips, and tricks are emphasized in each subject area.
Emphasizes the practical. Does not bury readers in theory.
Gives readers practical techniques to immediately apply in their daily work.
Dedicates a chapter to each of the most common, performance-related problem areas.
Table of contents
- Cover Page
- Title Page
- Copyright
- Contents at a Glance
- Contents
- About the Author
- About The Technical Reviewer
- Acknowledgments
- Introduction
-
CHAPTER 1: SQL Query Performance tuning
- The Performance-Tuning Process
- Performance vs. Price
- Performance Baseline
- Where to Focus Efforts
-
SQL Server Performance Killers
- Poor Indexing
- Inaccurate Statistics
- Excessive Blocking and Deadlocks
- Non-Set-Based Operations
- Poor Query Design
- Poor Database Design
- Excessive Fragmentation
- Nonreusable Execution Plans
- Poor Execution Plans
- Frequent Recompilation of Execution Plans
- Improper Use of Cursors
- Improper Configuration of the Database Log
- Excessive Use or Improper Configuration of tempdb
- Summary
-
CHAPTER 2: System Performance Analysis
- Performance Monitor Tool
- Dynamic Management Views
- Hardware Resource Bottlenecks
- Memory Bottleneck Analysis
- Memory Bottleneck Resolutions
- Disk Bottleneck Analysis
-
Disk Bottleneck Resolutions
- Optimizing Application Workload
- Using a Faster Disk Drive
- Using a RAID Array
- Using a SAN System
- Aligning Disks Properly
- Using a Battery-Backed Controller Cache
- Adding System Memory
- Creating Multiple Files and Filegroups
- Placing the Table and Index on Separate Disks
- Saving Log Files to a Separate Physical Disk
- Partitioning Tables
- Processor Bottleneck Analysis
- Processor Bottleneck Resolutions
- Network Bottleneck Analysis
- Network Bottleneck Resolutions
- SQL Server Overall Performance
- Creating a Baseline
- System Behavior Analysis Against Baseline
- Summary
- CHAPTER 3: SQL Query Performance Analysis
- CHAPTER 4: Index Analysis
- CHAPTER 5: Database Engine Tuning Advisor
- CHAPTER 6: Bookmark Lookup Analysis
- CHAPTER 7: Statistics Analysis
- CHAPTER 8: Fragmentation Analysis
-
CHAPTER 9: Execution Plan Cache Analysis
- Execution Plan Generation
- Execution Plan Caching
- Components of the Execution Plan
- Aging of the Execution Plan
- Analyzing the Execution Plan Cache
- Execution Plan Reuse
- Query Plan Hash and Query Hash
-
Execution Plan Cache Recommendations
- Explicitly Parameterize Variable Parts of a Query
- Create Stored Procedures to Implement Business Functionality
- Code with sp_executesql to Avoid Stored Procedure Maintenance
- Implement the Prepare/Execute Model to Avoid Resending a Query String
- Avoid Ad Hoc Queries
- Prefer sp_executesql over EXECUTE for Dynamic Queries
- Parameterize Variable Parts of Queries with Care
- Do Not Allow Implicit Resolution of Objects in Queries
- Summary
- CHAPTER 10: Stored Procedure Recompilation
- CHAPTER 11: Query Design Analysis
- CHAPTER 12: Blocking Analysis
- CHAPTER 13: Deadlock Analysis
- CHAPTER 14: Cursor Cost Analysis
-
CHAPTER 15: Database Workload Optimization
- Workload Optimization Fundamentals
- Workload Optimization Steps
- Capturing the Workload
- Analyzing the Workload
- Identifying the Costliest Query
- Determining the Baseline Resource Use of the Costliest Query
- Analyzing and Optimizing External Factors
- Analyzing the Internal Behavior of the Costliest Query
- Optimizing the Costliest Query
- Analyzing the Effect on Database Workload
- Iterating Through Optimization Phases
- Summary
-
CHAPTER 16: SQL Server Optimization Checklist
- Database Design
-
Query Design
- Use the Command SET NOCOUNT ON
- Explicitly Define the Owner of an Object
- Avoid Nonsargable Search Conditions
- Avoid Arithmetic Operators on the WHERE Clause Column
- Avoid Optimizer Hints
- Stay Away from Nesting Views
- Ensure No Implicit Data Type Conversions
- Minimize Logging Overhead
- Adopt Best Practices for Reusing Execution Plans
- Adopt Best Practices for Database Transactions
- Eliminate or Reduce the Overhead of Database Cursors
- Configuration Settings
- Database Administration
- Database Backup
- Summary
- Index
Product information
- Title: SQL Server 2008 Query Performance Tuning Distilled
- Author(s):
- Release date: March 2009
- Publisher(s): Apress
- ISBN: 9781430219026
You might also like
book
SQL Server 2012 Query Performance Tuning, Third Edition
Queries not running fast enough? Tired of the phone calls from frustrated users? Grant Fritchey's book …
book
Inside Microsoft® SQL Server® 2008: T-SQL Querying
Tackle the toughest set-based querying and query tuning problems—guided by an author team with in-depth, inside …
book
SQL Server DMVs in Action
SQL Server DMVs in Action is a practical guide that shows you how to obtain, interpret, …
book
Beginning SQL Server Reporting Services
Learn SQL Server Reporting Services and become current with the 2016 edition. Develop interactive, dynamic reports …