MySQL Performance Tuning 

MySQL Performance Tuning 

 

Duration

4 Days

 

Course Description

The MySQL Performance Tuning course teaches you how to tune MySQL for optimal performance. You will learn best practices for configuring, monitoring, and troubleshooting your server, databases and queries using a range of tools.

Learn To:

  • Understand performance tuning concepts.
  • Benchmark your MySQL server.
  • Tune MySQL server settings.
  • Investigate performance metrics with a range of system databases, command-line and graphical tools.
  • Design your databases for optimal performance.
  • Optimize slow queries.
  • Troubleshoot common performance problems.
  • Scale your hardware and application environment as your database grows.

 

Course Audience

  • Application Developers
  • Database Administrators
  • System Administrator
  • Database Designers
  • Developer
  • Web Administrator

 

Course Objectives

  • Tune the MySQL server instance
  • Design a schema for optimal performance
  • Understand how MySQL optimizes queries
  • Identify and fix slow queries
  • Diagnose and resolve common performance issues
  • Optimize MySQL for your application environment
  • Identify the performance impact of hardware
  • Understand performance tuning concepts
  • List factors that affect performance
  • Use a range of performance tuning tools
  • Configure and use the Performance Schema

 

Course Outline

Introduction

  • MySQL Overview
  • MySQL Products and Tools
  • MySQL Services and Support
  • MySQL Web Pages
  • MySQL Courses
  • MySQL Certification
  • MySQL Documentation

Performance Tuning Basics

  • Thinking About Performance
  • Areas to Tune
  • Performance Tuning Terminology
  • Benchmark Planning
  • Benchmark Errors
  • Tuning Steps
  • General Tuning Session
  • Deploying MySQL and Benchmarking

Performance Tuning Tools

  • MySQL Monitoring Tools
  • Open Source Community Monitoring Tools
  • Benchmark Tools
  • Stress Tools

MySQL Server Tuning

  • Major Components of the MySQL Server
  • MySQL Thread Handling
  • MySQL Memory Usage
  • Simultaneous Connections in MySQL
  • Reusing Threads
  • Effects of Thread Caching
  • Reusing Tables
  • Setting table_open_cache

MySQL Query Cache

  • MySQL Query Cache
  • When to Use the MySQL Query Cache
  • When NOT to Use the MySQL Query Cache
  • MySQL Query Cache Settings
  • MySQL Query Cache Status Variables
  • Improve Query Cache Results

InnoDB

  • InnoDB Storage Engine
  • InnoDB Storage Engine Uses
  • Using the InnoDB Storage Engine
  • InnoDB Log Files and Buffers
  • Committing Transactions
  • InnoDB Table Design
  • SHOW ENGINE INNODB STATUS
  • InnoDB Monitors and Settings

MyISAM

  • MyISAM Storage Engine Uses
  • MyISAM Table Design
  • Optimizing MyISAM
  • MyISAM Table Locks
  • MyISAM Settings
  • MyISAM Key Cache
  • MyISAM Full-Text Search

Other MySQL Storage Engines and Issues

  • Large Objects
  • MEMORY Storage Engine Uses
  • MEMORY Storage Engine Performance
  • Multiple Storage Engine Advantages
  • Single Storage Engine Advantages

Schema Design and Performance

  • Schema Design Considerations
  • Normalization and Performance
  • Schema Design
  • Data Types
  • Indexes
  • Partitioning

MySQL Query Performance

  • General SQL Tuning Best Practices
  • EXPLAIN
  • MySQL Optimizer
  • Finding Problematic Queries
  • Improve Query Executions
  • Locate and Correct Problematic Queries

Performance Tuning Extras

  • Configuring Hardware
  • Considering Operating Systems
  • Operating Systems Configurations
  • Logging
  • Backup and Recovery