Learn: in:
» back to Search Results

Course rating of 0 Vendor rating of 4

This 3-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.

Course Outline
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 the 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.

Course Outline 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.
• 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.
• 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.
• 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 using subqueries in query optimization.
• Describe strategies for building efficient queries.
• Rewrite stored procedures for optimization.
• Rewrite views for optimization.
• Rewrite non-cursor aggregate queries for optimization.
• Test queries for performance.

Unit 4: Refactoring Cursors into Queries In this unit, students will work with strategies for refactoring cursors into queries. In the lab, students will work to optimize a database by replacing slow iterative code with faster set-based code.
• Performance Optimization Model: Query-Set-based solutions
• Five Steps to Building a Cursor
• Strategies for Refactoring Cursors
Lab: Refactoring Cursors into Queries
• Refactoring the pMembershipCategory Cursor
• Refactoring the pCommunityImpact Cursor
• Refactoring the pMemberInvitation Cursor
• Determining Performance
After completing this unit, students will be able to:
• Explain the importance of set-based solutions in database optimization.
• List five steps to building a cursor.
• Describe strategies for refactoring cursors.
• Refactor cursors into queries by rebuilding cursor logic as multiple queries, user-defined function, and complex queries with case expression.
• Test queries for performance.

Unit 5: Optimizing an Indexing Strategy In this unit, students will work on optimizing indexing strategies. Students will work with a given database to add and delete indexes, by providing the optimum bridge between the query and the data without any redundancies.
• 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
• Identifying Tables to Optimize
• Designing Indexes
• Determining Performance
After completing this unit, students will be able to:
• Explain the importance of optimizing index strategies in database optimization.
• Explain considerations for using indexes in database optimization.
• Describe the best uses of clustered indexes as they relate to optimization.
• Describe the best practices for designing non-clustered databases.
• Explain the methodology for using an indexing strategy worksheet.
• Determine tables that need to be optimized based on slow running code.
• Design, implement, and adjust clustered and non-clustered indexes.
• Test for performance.

Unit 6: Managing Concurrency This unit provides students with the opportunity to work with concurrency management. Students will look for concurrency issues and then solve them by optimizing transactions and adjusting the transaction isolation level.
• 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
• Identifying Code with Locking and Blocking Issues
• Reducing Concurrency Issues
• Determining Final Performance
After completing this unit, students will be able to:
• Explain the importance of concurrency management in database optimization.
• Explain how efficient queries reduce locking and blocking.
• List strategies for reducing locking and blocking.
• Identify code with locking and blocking issues.
• Tighten and optimize logical transactions in code with concurrency issues.
• Adjust transaction isolation levels in code with concurrency issues.
• Test database for performance.
• Determine percentage gain on database performance from baseline.
Prerequisites & Certificates

Before attending this course, students must have: * 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 2008 Transact-SQL. * Course 2779: Implementing a Microsoft SQL Server 2005 Database. * Course 2780: Maintaining a Microsoft SQL Server 2005 Database.

Certificates offered

The student kit includes a comprehensive workbook and other necessary materials for this class.

Cancellation Policy
10 business day cancellation policy. if the course is confirmed and the student cancels within 10 days of the course, then they get charged and apply a credit for future courses. If they cancel outside of 10 business days, then there are no charges at all.
Map & Reviews
CTE Solutions
[ View Provider's Profile ]


This course has not yet been rated by one of our members.

If you have taken a course through this vendor please log into your account and leave feedback for this vendor. You will be helping ensure our members get directed to the best training facilities.

Here are some reviews of the training vendor.
I realize that we are constantly dealing with technology, but I still think for a registration fee of almost $3,000, that a hardcover book should be included. I know that the option to print the book on a one-time basis exists.
Reviewed by 2016
Reviewed by 2016
The instructor was very knowledgeable and answered all questions. Jarod did an excellent job presenting.
Reviewed by 2015
The room was cold. I had to sit next to the space heater. It would be good to tell future patrons to dress warmly AHEAD of time. No suprises.
Reviewed by 2015
He was great and offered his contact info for further questions.
Reviewed by 2015
Howard was a fantastic instructor and the course was exactly what I required.
Reviewed by 2014
The trainer was excellent - the course exceeded my expectations.
Reviewed by 2014
This course provides an excellent overview and a bit of practice on the various functions of SharePoint 2013. I was disappointed at the number of exceedingly long breaks given after each module. I would have preferred less break time and more content to the course. Having never taken a SharePoint course with another provider, I don't know if this is the norm with all providers of just this one in particular.
Reviewed by 2014
I ranked the "Use of Technology" low because for Users who were remote the VM's that were setup were a little wonky. Could be very slow at times and then sometimes they needed to be refreshed to work properly with the lab. In some instances we couldn't follow along as replication would not occur fast enough and we would have our lab cut short (for us remote Users).
Reviewed by 2014
The instructor was good at remembering to acknowledge the online students even though he was facing a classroom of students also.
Reviewed by 2014
Insructor was not so good with the live examples. Also the handouts was not so useful
Reviewed by 2013
The trainer was excellent, very knowledgeable and had a lot of valuable experience to share. The problem was that there were way too many workshops that took too long and interfered with getting the maximum benefit from the instructor and the course.
Reviewed by 2013
This was quite informative. It was a great opportunity to have ‘real life’ discussions with certified PMs. The instructor had excellent examples and was able to share his PM experiences with us with concrete examples. In addition, this was a great opportunity to network with private sector/public sector PMs and develop a better appreciation of PM on both sides of the fence. Cheers, CL
Reviewed by 2013
Reviewed by 2013
I did not like the video format
Reviewed by 2013
As a remote attendee, it appeared the instructor paid attention to the "Attendee" and "Chat" windows only a few times throughout the day, so I was not confident that he would see if I sent a message or raised my hand during the course.
Reviewed by 2013
The chairs were not very comfortable and the material contained spelling and grammatical error (a few but still)as well as repetition of words.
Reviewed by 2013
Was a bit slow the last 1/2 day. Of course, for some, this was the last of a 4 day course (not just 2 days).
Reviewed by 2013
I really enjoyed the course and I learned a lot. The pace was excellent.
Reviewed by 2013
Reviewed by 2013
The room was excellent on its own - less distraction and no noise around you. There was no direction to the room when I walked in and therefore was not sure if I was heading in the right direction. We were not provided with the direction that there was coffee and fridge on the 3rd floor, and the bathroom floor was dirty.
Reviewed by 2012
This course was great, very informative, had Lionel as instructor and he was also very good.
Reviewed by 2012
Instructor was eager to assist but lacked subject matter expertise. Course time management was very poor. Content provided could have been delivered effectively in a one day course.
Reviewed by 2012
Good Course, good trainer. All questions addressed equally and in a timely professional manner.
Reviewed by 2011
The course content was interesting; however, the instructor didn't have enough knowledge about Microsoft Sharepoint 2010 Development and wasn't able to answer questions without google search. In the future CTE needs to make sure the instructors have real on-hands experience and are highly trained in the technologies they are supposed be teaching.
Reviewed by 2011

This course currently does not have any dates scheduled. Please call 1-877-313-8881 to enquire about future dates or scheduling a private, in house course for your team.

This page has been viewed 338 times.