MySQL Performance & Tuning

Course Code: MYSDBAPT

Duration: 3 days

 
 
 
 

MySQL Performance & Tuning Course Overview

This MySQL Performance & Tuning course is designed for Database Administrators, Application Developers and Technical Consultants who need to monitor and tune the performance of MySQL servers and databases.

The course provides practical experience in monitoring and tuning MySQL servers and databases.

Exercises and examples are used throughout the course to give practical hands-on experience with the techniques covered.

Versions supported 8, 5.7, 5.6.

Course Objectives

To provide the skills necessary to monitor and tune MySQL performance.

Who will the Course Benefit?

Anyone who wishes to monitor and tune MySQL performance for MySQL 5.6, 5.7 and 8 databases.

Course Notes

This MySQL Performance & Tuning course does not cover clustering (other than at an overview level), replication or non-standard storage engines.

Skills Gained

The delegate will learn and acquire skills as follows:

  • Developing a monitoring and tuning plan
  • Using monitoring and diagnostic tools
  • Using the Information Schema and Show commands to collect data for tuning
  • Understanding normalization and de-normalization and their effect on performance
  • Performance tuning tools
  • Using load generation, stress testing and benchmarking tools
  • Using server configuration and status variables
  • Understanding the output from the Explain command
  • Identifying and improving problem queries
  • Making efficient use of indexes
  • Monitoring and sizing memory caches
  • Monitoring locks
  • Tuning the InnoDB storage engine
  • Tuning other standard storage engines
  • Comparing and tuning dump and load performance
  • Evaluating the use of partitioning for performance

MySQL Performance & Tuning Training Course

Course Introduction

  • Administration and Course Materials
  • Course Structure and Agenda
  • Delegate and Trainer Introductions

Session 1: INTRODUCTION TO PERFORMANCE TUNING

  • Tuning Overview
  • Tuning Levels
  • Resolving Performance Issues
  • Recommended Approach to Tuning
  • Items to Evaluate
  • Where to look
  • Planning a Monitoring Routine
  • Building a New Database for Performance
  • Tuning an Existing Database
  • Setting Suitable Goals

Session 2: MYSQL PERFORMANCE TUNING TOOLS

  • Administration Tools
  • The Information Schema
  • MySQL 8 Information Schema Changes
  • Performance-related SHOW Commands
  • Benchmarking Tools
  • The MySQL Performance Schema
  • MonYog
  • Exercises: Obtaining Performance Information

Session 3: SCHEMA DESIGN

  • Normalisation
  • De-normalisation
  • Naming Conventions
  • Load Generation, Stress Testing and Benchmarking Tools
  • Selecting Data Types
  • Data Types
  • Character Sets
  • Choosing Storage Engines
  • Exercises: Effects of Design on Performance

Session 4: STATEMENT TUNING

  • Overview of Statement Tuning
  • Identifying Problem Queries
  • The Optimizer
  • Explain
  • Exercises: Identifying Problem Queries and Using Explain

Session 5: INDEXES

  • Index Overview
  • Index Size
  • Types of Index
  • Index Tuning
  • Indexes and Joins
  • Descending Indexes
  • Invisible Indexes
  • InnoDB Cached Indexes Information
  • Exercises: Indexes and Performance

MySQL Performance & Tuning Training Course

Session 6: SERVER CONFIGURATION AND MONITORING

  • Server Configuration Variables
  • Server Status Variables
  • Table Cache
  • Multi-Threading
  • Connection Issues
  • Query Cache
  • Exercises: Setting and Interpreting Server Variables and Caching

Session 7: LOCKING

  • Types of Locking
  • Locking and Storage Engines
  • Effects of Locking on Performance
  • Monitoring InnoDB Locks in MySQL 5,7 and 8
  • MySQL 8 Disable Deadlock Detection
  • Exercises: Locking and Performance

Session 8: THE INNODB ENGINE

  • Transactions
  • Crash Recovery
  • Locking
  • Monitoring InnoDB
  • Caches and Buffers
  • Configuring Data Files
  • Configuring the Log Files
  • Exercises: InnoDB Configuration and Performance

MySQL Performance & Tuning Training Course

Session 9: OTHER STORAGE ENGINES

  • MyISAM Engine
  • Merge Engine
  • Archive Engine
  • Memory Engine
  • Blackhole Engine
  • CSV Engine
  • The Spider Engine
  • The ColumnStore Engine
  • The MyRocks Engine
  • Mixing Storage Engines
  • Exercises: Storage Engine Performance

Session 10: OVERVIEW OF CLUSTERING AND PERFORMANCE

  • Advantages Performance Advantages of Clustering
  • Performance Issues and Clustering
  • The NDBCluster Engine
  • The Galera Cluster
  • The Percona XtraDB Cluster
  • MySQL InnoDB Cluster
  • The Federated Engine
  • The FederatedX Engine
  • Overview of Other High Availability Techniques
  • NOSQL and Mencached Overview

Session 11: DUMPING AND LOADING DATA

  • SQL statements versus delimited data
  • Parameters affecting dump performance
  • Parameters affecting load performance
  • Exercises: Dump and load performance

Session 12: PARTITIONED TABLES

  • Partitioned tables concepts
  • Range partitioning
  • Hash partitioning
  • Key partitioning
  • List partitioning
  • Composite partitioning or subpartitioning
  • Partition Pruning
  • MySQL 8 Partitioning new features
  • Exercises: Partitioned Table Performance
Notes:
  • Course technical content is subject to change without notice.
  • Course content is structured as sessions, this does not strictly map to course timings. Concepts, content and practicals often span sessions.

Requirements

Delegates must have a working knowledge of MySQL Database Administration.

This course is run on a Linux operating system, a basic knowledge of Linux/UNIX is recommended but is not essential.

Pre-Requisite Courses

Course Reviews

Excellent course, very relevant and useful content with lots of practical applications. I took the course remotely, which saved commuting, and had no issues with video conferencing. Would recommend to anyone who works with MySQL either as a DBA or developer and needs to find performance improvements or optimise their setup. Excellent teacher, and presented the material very well.

David - IT Director - Retail / Hire

Really clear and complete.

Mario - developer - IT

The instructor was very professional and patient.

Mark - PROJECT MANAGER - IT

Well paced course. Trainer was very knowledgeable as well as friendly. He was able to tailor the course to my requirements - which made a huge difference.

Dan - Systems Manager - IT

Alan was an excellent trainer with definitely solid experience and explained it on a pleasant pace. Thanks very much indeed!

Charles - Senior Web Developer

Alan is extremely knowledgeable in the subject matter, and was quick to point out differences in the versions since the course notes were originally written. Very friendly and professional.

Paul - Network Systems Engineer and DBA

Public Scheduled Events

Classroom & Live Virtual Instructor-Led Training

Duration: 3 days

Price: £1,595.00 exc. VAT 


Start Date Options Spaces  
01 May 2024
StayAhead Virtual Courses available 
Spaces Book Now 
03 Jul 2024
StayAhead Virtual Courses available 
Spaces Book Now 
04 Sep 2024
StayAhead Virtual Courses available 
Spaces Book Now 
13 Nov 2024
StayAhead Virtual Courses available 
Spaces Book Now 
 

Live Virtual Classroom

 
Join live instructor-led classroom training from the comfort of your home or office.
All the convenience and benefits of the classroom experience without the hassle and costs of travel and accommodation.
 
 



Our Customers Include

 
EDF
Amazon
American Express
Aviva
QA
BAE
University of Cambridge
Barnardo's
Scottish Government
Bauer
Bloomberg
BP
HSBC
DVLA
GlaxoSmithKline
Government Campus
Capita
Tui
NHS
Ordnance Survey
Ministry of Defence
Zurich Insurance Group
trainline
Vodafone
 
 



Our Course Curriculum

 
 
 
+44 (0)20 7600 6116
Enquiries@StayAhead.com
Copyright © 2024 StayAhead Training Ltd
Cookies   /   Privacy Policy