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 Gold 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.