Changing settings sensibly.
WHAT TO DO FIRST
Nothing.
WHY
Most performance problems are queries and schema, not configuration.
WHAT TO FIX BEFORE TUNING
Missing indexes Queries selecting far too much Application patterns issuing many small queries
WHAT THE SINGLE MOST IMPORTANT SETTING IS
The buffer pool size.
WHAT IT CONTROLS
How much data and index is held in memory.
WHAT TO SET IT TO
Enough to hold the working set, within available memory.
WHAT THE WORKING SET IS
The data actually accessed regularly, not the total size.
WHAT ELSE MATTERS
Log file size, affecting write throughput Connection limits, against available memory Temporary table size, before spilling to disk Flush behaviour, trading durability for speed
WHAT TO BE CAREFUL WITH
Reducing durability settings.
WHY
It improves benchmarks and risks losing committed transactions on a crash.
WHAT TO NEVER DO
Apply a configuration found online wholesale Change several settings at once Tune on a machine you have not measured
WHAT TO DO INSTEAD
Change one thing, measure, keep or revert.
WHAT TO RECORD
What you changed, when, and what it achieved.
WHAT TO BEWARE ON SHARED HOSTING
Settings you cannot change, and memory you do not exclusively have.