I had the exact same issue. The problem is not one that can be fixed without modifying some code that you probably shouldn’t (or perhaps writing a filter or a ‘drop-in’). The issue is the CAST directive in the SQL statement. It CASTS the entire table before it does anything, with the amount of records you have, its going to take a while.
Capture the query, remove the following "AND CAST(mt1.meta_value AS CHAR) = 'deleted'"
and run it, it should be a lot quicker now.
Edit: (Correction) change the query to "AND mt1.meta_value="deleted""
I have no idea what the developers were thinking when they added that useless CAST, with MySQL it works fine without it (TEXT is no different than CHAR except the size). I am sure there are some edge cases where removing it will not give the desired results, but I have yet to find one.
Long live WordPress SQL X)
Related Posts:
- MySQL Error: : ‘Access denied for user ‘root’@’localhost’
- MySQL Error: : ‘Access denied for user ‘root’@’localhost’
- What’s the difference between INNER JOIN, LEFT JOIN, RIGHT JOIN and FULL JOIN? [duplicate]
- Cannot delete or update a parent row: a foreign key constraint fails
- Cannot delete or update a parent row: a foreign key constraint fails
- Rename a column in MySQL
- Cannot delete or update a parent row: a foreign key constraint fails
- How do I restore a dump file from mysqldump?
- How do I import an SQL file using the command line in MySQL?
- #1273 – Unknown collation: ‘utf8mb4_unicode_520_ci’
- What does SQL Select symbol || mean?
- What is the definition of cardinality in SQL
- When to use SELECT … FOR UPDATE?
- SQL Query Where Field DOES NOT Contain $x
- Column ‘user_id’ in field list is ambiguous
- How to join two tables by multiple columns in SQL?
- mysql Foreign key constraint is incorrectly formed error
- Selecting data from two different tables without using joins
- 1052: Column ‘id’ in field list is ambiguous
- 1052: Column ‘id’ in field list is ambiguous
- MySQL: Invalid use of group function
- difference between primary key and unique key
- Getting “Lock wait timeout exceeded; try restarting transaction” even though I’m not using a transaction
- Simple Random Samples from a Sql database
- ERROR 1452: Cannot add or update a child row: a foreign key constraint fails
- What does SQL clause “GROUP BY 1” mean?
- SQL ZOO List each continent and the name of the country that comes first alphabetically
- How can I prevent SQL injection in PHP?
- Fatal error: Please read “Security” section of the manual to find out how to run mysqld as root
- Generating a random & unique 8 character string using MySQL
- SQL select only rows with max value on a column
- Unknown Column In Where Clause
- SQL statement not working – “Operand type clash: date is incompatible with int’
- Convert partially non-numeric text into number in MySQL query
- Repair all tables in one go
- How can I search (case-insensitive) in a column using LIKE wildcard?
- #1062 – Duplicate entry for key ‘PRIMARY’
- How to do a batch insert in MySQL
- ERROR 1115 (42000): Unknown character set: ‘utf8mb4’
- SQL – IF EXISTS UPDATE ELSE INSERT INTO
- Remove Primary Key in MySQL
- Is merge statement available in MySQL
- Error: Duplicate entry ‘0’ for key ‘PRIMARY’
- How to get the count of each distinct value in a column?
- How do you properly prepare a %LIKE% SQL statement?
- What SQL Query to do a simple find and replace
- Scanning Database for malicious Data
- wpdb->prepare function remove single quote for %s in SQL statment
- “#1067 – Invalid default value for ‘post_date'” when trying to reset AI after backup
- Extending the database
- How to find meta entries with their posts missing via SQL?
- SQL Database, repeated tables?
- Code to remove authors with no posts connected to them
- SQL command to convert all tags in lowercase?
- Which is better and faster ? WordPress Queries or SQL Query
- SQL Query in WordPress – Getting Impossible WHERE error
- How to get INSERT errors from $wpdb?
- MySQL query for taxonomy-meta
- How can I write a formal sql query to get data from a custom table
- latency problems with wordpress install (from SQL import)
- Data is not constatntly loading from custom wordpress table
- Lock wait timeout exceeded; try restarting transaction
- Find locations of all featured images of draft posts via SQL
- SQL query to change custom field in WordPress database
- How to show result of sql query in a page?
- update_option returns false in AJAX, how to debug?
- Improving performance of SQL sub-queries in WordPress
- An SQL query to find orphaned image attachments and their meta
- WPDB delivers wrong results from complex queries
- How to change link in all posts?
- Display MySQL as part of a Page
- $wpdb post type and term query only works when there are no dashes or spaces in the term slug and title
- get_results() query not working only when entering strings
- SQL error on restoring database
- optimise SQL wordpress call
- Query sql for truncate post_content in wp_posts table
- Woocommerce: Grab total revenue of a product over all orders
- Delete posts with word count less than x number of words
- SQL – Pull products of particular category from a remote WordPress woocommerce db
- SQL command to export post_content from wp_posts using phpMyAdmin
- SQL get last entry of a specific gravity form
- Is there an equivalent of MySQL’s SHOW CREATE TABLE in Postgres?
- Possible SQL injection. How to locate and fix?
- Setting up foreign keys in phpMyAdmin?
- Access denied; you need (at least one of) the SUPER privilege(s) for this operation
- MySQL Server on MAMP-Windows Will Not Start
- importing a CSV into phpmyadmin
- How can I rebuild indexes and update stats in MySQL innoDB?
- select * from table where column = something or, when unavailable, column = something else
- Differences between utf8 and latin1
- wpdb insert and boolean fields
- What are the issues associated with upgrading MySQL for WordPress?
- WP_Query adds “(wp_posts.ID = ‘0’)” so no results are returned
- Using WPDB->Insert()
- Use $wpdb or other PHP script method to find/replace in WP database
- Getting data from Mysql Table..confusing
- SQL Statement – Mass Delete Custom Post Types
- mysql – Delete keyword with link from wordpress post database
- Creating dynamic content and pages for 1000’s of locations
- Remove duplicate media entries from mysql database