MySQL Performance & Tuning training course contents
Introduction to performance tuning
Tuning overview, 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.
MySQL performance tuning tools
Administration tools, the information schema, performance-related SHOW commands, benchmarking tools, the MySQL performance schema, MonYog.
Exercises: Obtaining performance information.
Normalisation, de-normalisation, naming conventions, load generation, stress testing and benchmarking tools, selecting data types, data types, character sets, choosing storage engines.
Hands on: effects of design on performance.
Overview of statement tuning, identifying problem queries, the optimizer, explain, explain extended.
Exercises: identifying problem queries and using explain.
Index overview, Types of index, Index tuning, Indexes and joins.
Exercises: Indexes and performance.
Server configuration and monitoring
Server configuration variables, server status variables, table cache, multi-threading, connection issues, query cache.
Hands on: setting and interpreting server variables and caching.
Types of locking, locking and storage engines, effects of locking on performance.
Hands on: locking and performance.
The InnoDB engine
Transactions, crash recovery, locking, monitoring InnoDB, caches and buffers, configuring data files,
configuring the log files.
Hands on: InnoDB configuration and performance.
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 sorage engines.
Hands on: storage engine performance.
Overview of clustering and performance
Advantages of 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.
Dumping and loading data
SQL statements versus delimited data, parameters affecting dump performance, parameters affecting load performance.
Hands on: dump and load performance.
Partitioned tables concepts, range partitioning, hash partitioning, key partitioning, list partitioning, composite partitioning or subpartitioning, partition pruning.
Hands on: partitioned table performance.