Autoloaded options are read on every request, all of them

Every option with autoload set to yes is fetched in a single query on every page load, and a plugin storing a megabyte there makes every request slower forever.

SELECT option_name, ROUND(LENGTH(option_value)/1024) AS kb
FROM wp_options
WHERE autoload = 'yes'
ORDER BY LENGTH(option_value) DESC
LIMIT 10;

-- and the total, which should be well under 1 MB
SELECT ROUND(SUM(LENGTH(option_value))/1024) AS total_kb
FROM wp_options WHERE autoload = 'yes';

This is the first query to run on any slow WordPress site and it is routinely educational — a cached API response, a serialised log, or an abandoned plugin’s data sitting in the autoload set. update_option with an explicit false as the third argument keeps something out of it, and changing an existing option’s autoload flag requires deleting and re-adding it. Anything over a megabyte in total is worth investigating before any other optimisation.