Module 1: Course Overview
This module explains how the class will be structured and introduces course materials and additional administrative information.
- Course Materials
- What We'll Be Discussing
Module 2: SQL 2014 Architecture
In this module, we will examine the new Cardinality Estimator, explore memory-optimized tables, and explain how SQL both stores and locates data.
- The New Cardinality Estimator
- Memory-Optimized Tables
- Understanding Performance for Developers
- Understanding Startup Parameters
- Startup Stored Procedures
- Database Structures
- Instant File Initialization
- How SQL Stores Data
- How SQL Locates Data
Module 3: The Database Engine
The SQL Server Database Engine is split into two major components, which are the storage engine and the relational engine. The relational engine is also called the query processor which is a more descriptive term for what it actually does. In this module, we explore how the engines works, and cover concepts that will help you to understand their behavior.
- Four Important Concepts
- Temporary Tables Internals
- Isolation Levels
- SQL Server Locking Architecture
- SQL and Storage Area Networks (SAN)
- SQL on VMs
- SQLIO Utility
- Partitioned Tables and Indexes
Module 4: SQL Performance Tools
SQL provides a number of robust monitoring tools and in this module we explore the tools available and explain what they are designed to do.
- The Resource Governor
- Activity Monitor
- Live Query Statistics
- Monitoring SQL with Transact-SQL
- Dynamic Management Objects (DMOs) and Performance Tuning
Module 5: Query Optimizing and Operators
SQL Server query optimization remains a very important part of today’s database applications. In this module we examine the tuning process, options for troubleshooting, execution plans, Performance Monitor, and much more.
- Tuning Process
- Performance Monitor Tool
- SQL Query Processing Steps
- Understanding Execution Plans
- SET STATISTICS TIME and SET STATISTICS IO
- Data Access Operators
- Troubleshooting Queries
Module 6: Understanding Indexes
The entire concept of indexing is speedy retrieval. In this module we explain everything you need to know about creating, utilizing, managing, and monitoring indexes.
- Introduction to Indexes
- Index Types by Storage
- Index Types by Column Designation
- Creating and Altering Indexes
- Data Management Views for Indexing
- Database Engine Tuning Advisor
- Index Data Management Objects
- SQL Server Fragmentation
- Index Storage Strategies
- Indexed Views
- Monitoring Indexes
- Index Dynamic Management Objects (DMOs)
- Best Practices
Module 7: Understanding Statistics
Statistics are considered one of the most important aspects of SQL Server Performance Tuning. In this module we examine statistics and how to utilize them.
- Cardinality Estimator
- Incremental Statistics
- Computed Columns Statistics
- Filtered Statistics
Module 8: In-Memory Database
The most important new feature in SQL Server 2014 is the new In-Memory OLTP engine. In this module we will cover the architecture, restrictions, and other exciting features.
- Tables and Indexes
- Natively Compiled Stored Procedures
- Analyze Migrate Report Tool
- In-Memory Data Management Views (DMV)
Module 9: SQL Profiler and SQL Trace
The SQL Server 2014 Profiler is essentially the same as the SQL Server 2012 Profiler. This is not surprising because many new features that were added in SQL Server 2005 and SQL Server 2008 addressed gaps identified in previous versions. In this module, we cover both SQL Profiler and SQL Trace.
- SQL Trace
- SQL Trace Architecture
- SQL Server Profiler
Module 10: Query Issues and Hints
In this module, we will examine query issues, how to identify them, and how to resolve them. We’ll also cover query hints, plan guides, and explore plan freezing.
- Query Hints
- Plan Guides
- Plan Freezing
- Join Orders