We are experiencing very slow performance with queries that use SQL_CALC_FOUND_ROWS
within the admin section of WordPress.
We currently have about 125,000 posts on our site and use Varnish to cache the front-end and are on WordPress version 4.2.3.
The problem arises when there are people using the admin section of WordPress and WordPress will run a query like the one below:
SELECT SQL_CALC_FOUND_ROWS wp_posts.ID
FROM wp_posts
WHERE 1=1 AND (((wp_posts.post_title LIKE '%denali%')
OR (wp_posts.post_content LIKE '%denali%')))
AND wp_posts.post_type = 'post'
AND (wp_posts.post_status = 'publish'
OR wp_posts.post_status = 'future'
OR wp_posts.post_status = 'draft'
OR wp_posts.post_status = 'pending'
OR wp_posts.post_status = 'private')
ORDER BY wp_posts.post_title LIKE '%denali%' DESC,
wp_posts.post_date DESC LIMIT 0, 20
Is there a patch to fix this issue or some sort of pre_get_posts
filter I can run?
I plan on removing some post revisions and doing some DB optimization, but first wanted to see if there was some sort of fix for this within WordPress.
I have come across similar issues while searching for this, but most of those issues seem to be 2-6 years old.