book your perfect training course
thousands of courses, off-site or in-house, across the UK
browse training

Browse the full list of courses above.

education search

 

Training Course: Tuning and Optimizing Queries using Microsoft SQL Server 2005 (2784, MOC 2784)

training course enquiry

Training Course Code: 2784
Training Duration: 3 days.
Price: £995

Training Course Summary:

Elements of this syllabus are subject to change.

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.

At Course Completion
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.

Pre-Requisites:

Before attending this course, students must:

• 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:

• Course 2778, Writing Queries Using Microsoft SQL Server 2005 Transact-SQL.

• Course 2779, Implementing a Microsoft SQL Server 2005 Database.

• Course 2780, Maintaining a Microsoft SQL Server 2005 Database.

Who Should Attend:

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.


Training Course Overview/Content:

Unit 1: Measuring Database Performance

This unit provides students with an opportunity to measure database performance and identify database performance bottlenecks. Students will use a sample script to identify performance and concurrency problems, capture baseline performance, and prioritize identified problems for optimization.

Topics

• 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

• Reviewing Tables and Scripts

• Determining Performance Baselines

• Prioritizing Identified Problems


After completing this unit, students will be able to:

• Describe best practices for measuring performance.

• Describe the key Sysmon counters for problem identification.

• Describe the key Profiler trace events for problem identification.

• Select best methods for identifying which procedures are causing locking and blocking.

• Review database tables and scripts.

• Use a script to identify performance and concurrency problems.

• Capture baseline performance.

• Prioritize identified problems.


Unit 2: Optimizing Physical Database Design

In this unit, students work with strategies for optimizing physical database design. Students will optimize a database schema using normalization, generalization, and denormalization.

Topics

• Performance Optimization Model

• Schema Optimization Strategy: Keys

• Schema Optimization Strategy: Responsible Denormalization

• Schema Optimization Strategy: Generalization


Lab: Optimizing Schemas

• Optimizing Memberships

• Optimizing Events

• Normalizing Event Sponsorships

• Denormalizing Membership Visits

• Cleaning Up Schema

• Adapting the Solution to the New Database Schema

• Determining Performance


After completing this unit, students will be able to:

• Explain the strategy for database optimization presented in the Performance Optimization Model.

• Explain the importance of schema design in database optimization.

• Describe the strategic use of natural and surrogate keys and their roles in schema optimization.

• Describe responsible denormalization and the role of this strategy in schema optimization.

• Describe generalization and the role of this strategy in schema optimization.

• Normalize a database schema for optimization.

• Generalize a database schema for optimization.

• Denormalize a database schema for optimization.

• Clean up database schema by verifying and adjusting data types and verifying referential integrity.

• Convert data to the new schema.

• Correct table and column names in queries, stored procedures, and triggers to reconcile schema changes.

• Test for performance.


Unit 3: Optimizing Queries for Performance

In this unit students experience optimizing and tuning queries to improve performance. In the lab, students will optimize stored procedures, views, and non-cursor aggregate queries to improve database performance and user experience.

Each query that is optimized improves the overall system because the query will use fewer resources, freeing up those resources for other queries, and reducing the amount of locking done by the query. The domino effect is profound.

Topics

• Performance Optimization Model: Queries

• What Is Query Logical Flow?

• Considerations for Using Subqueries

• Guidelines for Building Efficient Queries


Lab: Optimizing Queries

• Optimizing and Rewriting Slow Performing Stored Procedures

• Optimizing and Rewriting Slow Performing Views

• Optimizing and Rewriting Slow Performing Non-Cursor Aggregate Queries

• Determining Performance


After completing this unit, students will be able to:

• Explain the importance of set-based solutions in database optimization.

• Explain the utility of the query logical flow diagram in query optimization.

• Discuss considerations when usin
Training course title:
Name:
Email:
Phone:
Company Name: (if applicable)
Number of delegates attending:
 
 Preferred Location: 
 Select from above or tick in house (we come to you) 
 
Preferred dates:
Click to select a dateClick to select a date
Any Special Requests:
Send Enquiry

Other course you might also like