I appreciate your feedback, and I would definitely be interested in finding the source of this issue on your site, but it would help if you could work with me – it sounds like you may have ignored my earlier suggestions.
I don’t know what the “Optimize Database after Deleting Revisions” plugin does, but considering that WPSSO does not create transients for revisions, and that WPSSO refreshes 1-2 specific transients when a post is updated (specific to that post ID), which should not create any fragmentation in the database, I’m not sure what there is to optimize (optimizing in database terms usually refers to defragmenting), unless that plugin decides to clear all transients, which could cause significant performance issues (transients a created to improve page load times by minimizing redundant code execution).
1-2 transients are created for every post ID, term ID, user ID, and archive page URL (one for meta tags, and one for Schema JSON markup). Generally, depending on the number of posts, terms, users, and archive page URLs, this would be a few thousand (depending on the number of posts / page on a site). Each transient should only be a few KB since they’re only meta tags and Schema markup.
There is one condition that could create more transients, which is for incorrectly registered custom post types, where the post ID is always 0. In that case, WPSSO must use the sharing URL to create a unique transient index ID. If the URL changes a lot, with many different URL query arguments, this can create many more transients. Their size still wouldn’t change – still a few KB, but there may be many more since WPSSO cannot use a valid post object ID.
When using the “Clear All Cache” button from the SSO > Tools page, WPSSO executes a background task to clear all its transients (as the notice would have indicated). That task would create another notice when it ends, unless there’s a significant performance issue with the database, and PHP terminated the task prematurely.
The transient cleaner plugin I mentioned earlier would clear transients in a foreground task, so you would get more immediate feedback about possible database performance issues and timeouts.
I’m happy to help figure out the issue on your site, and if you could work with me, and provide feedback on my suggestions, we could narrow down the source of this problem.
js.