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.
- Best Practices for Measuring Performance
- Key Measures for Query Performance
- Using Performance Monitor
- Using SQL Server Profiler
- Guidelines for Identifying Locking and Blocking
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
- Importance of Schema Design in Optimization
- Normalization
- Responsible Denormalization
- Generalization
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.
- What Is Query Logical Flow?
- How the Query Optimizer Processes Queries
- Considerations to Take When Using Subqueries
- Guidelines for Building Efficient Queries
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.
- Cursor Usage and Performance
- Strategies for Refactoring Cursors
- Using PIVOT and Common Table Expressions
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.
- How SQL Server Stores and Accesses Data
- Considerations for Using Indexes
- Nonclustered Index Design
- Best Use of Clustered Indexes
- How to Document an Indexing Strategy
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.
- Transaction Isolation Levels
- Guidelines to Reduce Locking and Blocking
|