0345 4506120

MySQL Performance & Tuning

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.

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

Who will the Course Benefit?

Anyone who wishes to monitor and tune MySQL performance.

Learning Objectives

Course Objectives

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

Pre-Requisites

Requirements

Delegates must have a working knowledge of MySQL Database Administration.

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

Course Notes

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

Pre-Requisite Courses

  • MySQL Database Administration

Follow-On Courses

  • MySQL for Developers
  • Perl Programming
  • Apache Web Server
  • PHP & MySQL for Web Development
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.

Course Content

Day 1

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
  • 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
  • Explain Extended
  • Exercises: Identifying Problem Queries and Using Explain

Session 5: INDEXES

  • Index Overview
  • Index Size
  • Types of Index
  • Index Tuning
  • Indexes and Joins
  • Exercises: Indexes and Performance

Day 2

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
  • 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

Day 3

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
  • Exercises: Partitioned Table Performance

     

Exams & Certification

Examinations

There are currently no official certification examinations for MySQL Performance and Tuning.

Privacy Notice

In order to provide you with the service requested we will need to retain and use your contact information in accordance with our Privacy Notice. If you choose to provide us with this information you explicitly consent to us using the information as necessary to provide the request service to you. If you do not agree please do not proceed to request the service from us.

Marketing Permissions

Would you like to receive our newsletter and other information on products and services which we think will be of interest to you by email. We will always treat your information with care and in accordance with our Privacy Notice. You are free to withdraw this permission at any time.

 

Our Customers Include