Your privacy matters: This site uses cookies to analyze site usage and provide social media features. Learn More.

SQL Server Query and System Performance Tuning

SQL-668 (5 Days)

Request Pricing

SQL Server Training Overview

Accelebrate’s SQL Server Query and System Performance Tuning training teaches all the skills you need to maximize the performance of your SQL Server databases.

  • Query Performance Tuning (3 days) concentrates on SELECT statement optimization. This includes understanding the tuning process, relational design issues, collecting performance data, objects that affect query performance, execution plans, index fragmentation, statistics, plan caching / recompilations, and T-SQL code.

  • System Performance Tuning (2 days) covers other areas of SQL Server that influence overall performance or cause bottlenecks. Topics include concurrency issues, data compression, in-memory tables, temporal tables, partitioning, system performance, and memory/processor/disk/network tuning.

Note: This SQL Server course is appropriate for versions 2012, 2014, 2016, and 2017.

Location and Pricing

Most Accelebrate courses are delivered as private, customized, on-site training at our clients' locations worldwide for groups of 3 or more attendees and are custom tailored to their specific needs. Please visit our client list to see organizations for whom we have delivered private in-house training. These courses can also be delivered as live, private online classes for groups that are geographically dispersed or wish to save on the instructor's or students' travel expenses. To receive a customized proposal and price quote for private training at your site or online, please contact us.

SQL Server Training Objectives

All students will:

  • Understand database application design
  • Optimize execution plan caching
  • Use the execution plan to tune a query
  • Collect tuning data
  • Add statistics
  • Locate T-SQL Performance issues
  • Explore a database application
  • Resolve livelocks and deadlocks
  • Enable and use data compression
  • Relocate a table and index to memory
  • Create a temporal table
  • Partition a table and index
  • View system configurations
  • Configure a simulated workload
  • Tune real-world performance issues

SQL Server Training Outline

Expand All | Collapse All | Printer-Friendly

Introduction
Query Performance Tuning Process
Query and System-Oriented Tuning
SQL Server Architecture
Database Components that Effect Performance
Query Execution Process
Query Performance Killers
Relational Design and Database Objects
Normal and Denormalized Database Design
Dealing with LOB Data
Index Types and Best Practices
Views and Indexed Views
Data Distribution and Statistics
Execution Plans and Operators
Parsing, Binding, and Query Optimization Process
Query Optimizer Improvements [SQL Server 2014 and Later]
Logical and Physical Execution Plan Operators
Viewing Execution Plans
Understanding Execution Plan Properties
Performance Timed and IO Statistics
Buffer Cache and Logical vs Physical Page Reads
Data Access Operators
Join Operators
Other Operators
Parallelism
Query Writing Best Practices
Reducing Query Resource Usage
Automatic Tuning with Automatic Plan Correction [SQL Server 2017 and Later]
Adaptive Query Processing [SQL Server 2017 and Later]
Collecting Query Performance Data
Locating Queries with Performance Issues
SQL Server Activity Monitor
SQL Server Management Studio Reports
Query Store [SQL Server 2016 and Later]
Dynamic Management Objects (DMOs)
Collecting SQL Server Events
Extended Events
Extended Events GUI [SQL Server 2012 and Later]
SQL Profiler (Deprecated)
Creating Application Baselines
Using Indexes to Improve Performance
Best scenarios for Clustered and NonClustered Indexes
Index Design Recommendations
Lookups vs Covering Indexes
Filtered Indexes
Index Intersections and Index Joins
Indexed Views
Fragmentation Issues
FillFactor and Padindex
Rebuilding and Reorganizing Indexes
Resumable Online Index Rebuild [SQL Server 2017 and Later]
Database Engine Tuning Advisor
Statistics and Cost-Based Optimization
Cost Based Optimizer
Selectivity, Density, and Cardinality of Data
New Cardinality Estimator Algorithms [SQL Server 2014 and Later]
Data Distribution Issues with CBO
Statistics to Track Data Distribution
Automatic Statistics
Manually Creating and Updating Statistics
Execution Plan Caching and Recompilation
Plan Cache
Ad Hoc Query Optimizations
Prepared Workloads
Stored Procedures
Plan Recompilation
Parameter Sniffing Issues
Recompile Hints and Options
Plan Guides
Transact-SQL Considerations
Temp Tables and Table Variables
Using Temp Tables Efficiently
Performance Pitfalls in T-SQL Code
Declarative Referential Integrity vs T-SQL Code
Triggers Performance Considerations
Transactions and Locking
Tuning and Alternatives to Cursors
Sequence Objects [SQL Server 2012 and Later]
Pagination with OFFSET and FETCH [SQL Server 2012 and Later]
JSON Support [SQL Server 2016 and Later]
Graph Databases and Relationships [SQL Server 2017 and Later]
Real World Query Tuning
Query Performance Tuning Process
Query and System-Oriented Tuning
SQL Server Architecture
Database Components that Effect Performance
Concurrency and Transactions
Transactions, Locks, Blocking, and Deadlocks
Isolation Levels in SQL Server
Types and Scopes of Locks
Viewing Concurrency Information
Livelocks and Transactions
Understanding and Resolving Deadlocks
Transactions Delayed Durability [SQL Server 2014 and Later]
Data Compression
Compression Concepts and Storage Changes
Row and Index Compression
Row-Level and Page-Level Compression
Configuring Compression
Estimating Compression Storage Size
In-Memory OLTP [SQL Server 2014 and Later]
Memory-Optimized OLTP Overview
Requirements and Considerations
Creating In-Memory Tables and Indexes
Natively Compiled Stored Procedures
Optimizing In-Memory Structures
Additional Constraint and SELECT Keyword Support [SQL Server 2016 and Later]
Table sizes up to 2TB [SQL Server 2016 and Later]
Computed Columns, JSON Functions, and CROSS APPLY Support [SQL Server 2017 and Later]
Temporal Tables [SQL Server 2016 and Later]
System-Versioned Temporal Tables
Period Columns
History Tables
Querying Temporal Tables
Memory-Optimized Temporal Tables
Performance Considerations of Temporal Tables
Partitioning Tables and Indexes
Understanding SQL Server Files and Filegroups
Creating Objects on Different Filegroups
Data Partitioning Overview
Distributing Data to Different Filegroups
Partition Functions, Schemes, and Columns
Partitioning Best Practices
System Performance Tuning Overview
The Performance Tuning Process
Performance vs. Price
Performance Baseline
Where to Focus Efforts
SQL Server System Performance Killers
Resource Bottleneck Tuning
Window Performance Monitor
System Performance DMOs
Understanding Waits
Creating a System Baseline
Buffer Pool and Memory Configuration
Buffer Pool Extensions [SQL Server 2014 and Later]
Memory Bottlenecks and Resolutions
Processor and Parallelism Settings
Processor Bottlenecks and Resolutions
Understanding Disk Usage
Checkpoints and Lazy Writes
New Dynamic Management Views for DB File Monitoring [SQL Server 2017 and Later]
TempDB Configuration
Multiple TempDB Files [SQL Server 2016 and Later]
TempDB Sizing up to 256GB [SQL Server 2017 and Later]
Disk Bottlenecks and Resolutions
SQL Server Network Usage
Data Bound Application Caching and Design Considerations
Resource Governors
Resource Governor Improvements [SQL Server 2014 and Later]
Simulating a Workload on SQL Server
Distributed Relay [SQL Server 2012 and Later]
Capturing Data with the Server Side Trace
Analyzing the Workload
Real World Performance Tuning
Conclusion
Request Pricing

Lecture percentage

50%

Lecture/Demo

Lab percentage

50%

Lab

Course Number:

SQL-668

Duration:

5 Days

Prerequisites:

All students must have SQL Server Administration Experience.

Training Materials:

All SQL Server training students receive comprehensive courseware and a copy of APress' SQL Server Performance Tuning.

Software Requirements:

Attendees will need SQL Server Developer, Enterprise, or Standard Edition version 2012, 2014, 2016 or 2017.

Contact Us:

Accelebrate’s training classes are available for private groups of 3 or more people at your site or online anywhere worldwide.

Don't settle for a "one size fits all" public class! Have Accelebrate deliver exactly the training you want, privately at your site or online, for less than the cost of a public class.

For pricing and to learn more, please contact us.

Contact Us

Toll-free in US/Canada:
877 849 1850
International:
+1 678 648 3113

Toll-free in US/Canada:
866 566 1228
International:
+1 404 420 2491

925B Peachtree Street, NE
PMB 378
Atlanta, GA 30309-3918
USA

Subscribe to our Newsletter:

Never miss the latest news and information from Accelebrate:

Microsoft Partner

Please see our complete list of
Microsoft Official Courses

Recent Training Locations

Alabama

Huntsville

Montgomery

Birmingham

Alaska

Anchorage

Arizona

Phoenix

Tucson

Arkansas

Fayetteville

Little Rock

California

San Francisco

Oakland

San Jose

Orange County

Los Angeles

Sacramento

San Diego

Colorado

Denver

Boulder

Colorado Springs

Connecticut

Hartford

DC

Washington

Florida

Fort Lauderdale

Miami

Jacksonville

Orlando

Saint Petersburg

Tampa

Georgia

Atlanta

Augusta

Savannah

Idaho

Boise

Illinois

Chicago

Indiana

Indianapolis

Iowa

Ceder Rapids

Des Moines

Kansas

Wichita

Kentucky

Lexington

Louisville

Louisiana

Banton Rouge

New Orleans

Maine

Portland

Maryland

Annapolis

Baltimore

Hagerstown

Frederick

Massachusetts

Springfield

Boston

Cambridge

Michigan

Ann Arbor

Detroit

Grand Rapids

Minnesota

Saint Paul

Minneapolis

Mississippi

Jackson

Missouri

Kansas City

St. Louis

Nebraska

Lincoln

Omaha

Nevada

Reno

Las Vegas

New Jersey

Princeton

New Mexico

Albuquerque

New York

Buffalo

Albany

White Plains

New York City

North Carolina

Charlotte

Durham

Raleigh

Ohio

Canton

Akron

Cincinnati

Cleveland

Columbus

Dayton

Oklahoma

Tulsa

Oklahoma City

Oregon

Portland

Pennsylvania

Pittsburgh

Philadelphia

Rhode Island

Providence

South Carolina

Columbia

Charleston

Spartanburg

Greenville

Tennessee

Memphis

Nashville

Knoxville

Texas

Dallas

El Paso

Houston

San Antonio

Austin

Utah

Salt Lake City

Virginia

Richmond

Alexandria

Arlington

Washington

Tacoma

Seattle

West Virginia

Charleston

Wisconsin

Madison

Milwaukee

Alberta

Edmonton

Calgary

British Columbia

Vancouver

Nova Scotia

Halifax

Ontario

Ottawa

Toronto

Quebec

Montreal

Puerto Rico

San Juan

© 2013-2019 Accelebrate, Inc. All Rights Reserved. All trademarks are owned by their respective owners.