Understanding how MySQL uses memory is key to tuning it for
optimal performance as well as troubleshooting cases of
unexpected memory usage, i.e. when you have MySQL Server using a
lot more than you would expect based on your configuration
settings.
Early in MySQL history, understanding memory usage details was
hard and included a lot of guesswork. Is it possible that
some queries running require a large temporary table or allocated
a lot of memory for stored user variables? Are any stored
procedures taking an unexpectedly high amount of memory? All
could be reasons for excessive MySQL memory usage, but you would
not easily see if that is just the case.
All that changed with MySQL 5.7, which added memory
instrumentation in Performance Schema, and with MySQL 8.0, this
instrumentation is enabled by default, so you can get this data
from pretty much any running instance.
If you’re looking for current memory …
[Read more]