Print | Email | Bookmark | Facebook | LinkedIn

2784: Tuning and Optimizing Queries using SQL Server 2005

Course length: 3 Days | Tuition: $1575.00

Introduction:

This three-day instructor-led workshop provides database developers working in enterprise environments using Microsoft SQL Server 2005 the knowledge and skills to evaluate and improve queries and query response times. The workshop focuses on systematic identification and optimization of database factors that impact query performance.

Audience:

  • This course is intended for current professional database developers who have three or more years of on-the-job experience developing SQL Server database solutions in an enterprise environment.

At Course Completion:

At the end of this course, the student will be able to:

  • After completing this course, students will be able to:
  • Normalize databases.
  • Design a normalized database.
  • Optimize a database design by denormalizing.
  • Optimize data storage.
  • Manage concurrency
  • Manage concurrency by selecting the appropriate transaction isolation level.
  • Select a locking granularity level.
  • Optimize and tune queries for performance.
  • Optimize an indexing strategy.
  • Decide when cursors are appropriate.
  • Identify and resolve performance-limiting problems.

Prerequisites:

This course requires that students meet the following prerequisites:

  • Have working knowledge of data storage. Specifically, knowledge about row layout, fixed length field placement and varying length field placement.
  • Be familiar with index structures and index utilization. Specifically, they must understand the interaction between non-clustered indexes, clustered indexes and heaps. They must know why a covering index can improve performance.
  • Have had hands-on database developer experience. Specifically, three years of experience as a full-time database developer in an enterprise environment.
  • Be familiar with the locking model. Specifically, students should have an understanding of lock modes, lock objects and isolation levels and be familiar with process blocking.
  • Understand Transact-SQL syntax and programming logic. Specifically, students should be completely fluent in advanced queries, aggregate queries, subqueries, user-defined functions, cursors, control of flow statements, CASE expressions, and all types of joins.
  • Be able to design a database to third normal form (3NF) and know the trade offs when backing out of the fully normalized design (denormalization) and designing for performance and business requirements in addition to being familiar with design models, such as Star and Snowflake schemas.
  • Have strong monitoring and troubleshooting skills, including using monitoring tools.
  • Have basic knowledge of the operating system and platform. That is, how the operating system integrates with the database, what the platform or operating system can do, and how interaction between the operating system and the database works.
  • Have basic knowledge of application architecture. That is, how applications can be designed in three layers, what applications can do, how interaction between the application and the database works, and how the interaction between the database and the platform or operating system works.
  • Know how to use a data modeling tool.
  • Be familiar with SQL Server 2005 features, tools, and technologies.
  • Have a Microsoft Certified Technology Specialist: Microsoft SQL Server 2005 credential - or equivalent experience.

In addition, it is recommended, but not required, that students have completed:

Microsoft Certified Professional Exams

This course will help the student prepare for the following Microsoft Certified Professional exams:

  • 70-442, Designing and Optimizing Microsoft SQL Server 2005 Database Applications

Student Materials:

The course materials are yours to keep. The student kit includes a comprehensive workbook and other necessary materials for this class.

Course Outline

Measuring Database Performance

  • Importance of Benchmarking
  • Key Measures for Query Performance: Sysmon
  • Key Measures for Query Performance: Profiler
  • Guidelines for Identifying Locking and Blocking
  • Lab: Measuring Database Performance

Optimizing Physical Database Design

  • Performance Optimization Model
  • Schema Optimization Strategy: Keys
  • Schema Optimization Strategy: Responsible Denormalization
  • Schema Optimization Strategy: Generalization
  • Lab: Optimizing Schemas

Optimizing Queries for Performance

  • Performance Optimization Model: Queries
  • What Is Query Logical Flow?
  • Considerations for Using Subqueries
  • Guidelines for Building Efficient Queries
  • Lab: Optimizing Queries

Refactoring Cursors into Queries

  • Performance Optimization Model: Query-Set-based solutions
  • Five Steps to Building a Cursor
  • Strategies for Refactoring Cursors
  • Lab: Refactoring Cursors into Queries

Optimizing an Indexing Strategy

  • Performance Optimization Model: Indexes
  • Considerations for Using Indexes
  • Best Uses of the Clustered Index
  • Best Practices for Non-Clustered Index Design
  • How to Document an Indexing Strategy
  • Lab: Optimizing an Indexing Strategy

Managing Concurrency

  • Performance Optimization Model: Locking and Blocking
  • Multimedia - "How to Use Efficient Queries to Reduce Locking and Blocking"
  • Strategies to Reduce Locking and Blocking
  • Lab: Reducing Blocking

Courses with a guaranteed icon () are guaranteed to run. View our full guaranteed to run schedule.

Onsite / Private Class

We can provide this class onsite to your team as a standard class or customized to meet your specific needs. Request a quote today.

Start Date End Date Start Time End Time Location    
Your Dates Your Time Your Location Request a quote today

Notify Me of Upcoming Dates

Where are all the dates? Contact us using the form below and we will provide you with training options for this course, as we have many nationwide dates that may not be listed.

Name: Phone:
Email: Company:
Comments: