During the post import we check whether the post already exists using post_exists.
The query currently utilises post title and date parameters, which will run through all the posts to try and find a match.
In cases where we have a large number of posts this query can time out and the import fail.
Passing the post_type to post_exists function allows us to use the type_status_date key, which significantly drops the number of rows examined and the overall query time in certain instances.
This change would also fix some edge case scenarios with posts across post types having the same title and date.
During the post import we check whether the post already exists using post_exists.
The query currently utilises post title and date parameters, which will run through all the posts to try and find a match.
In cases where we have a large number of posts this query can time out and the import fail.
Passing the
post_type
topost_exists
function allows us to use thetype_status_date
key, which significantly drops the number of rows examined and the overall query time in certain instances.This change would also fix some edge case scenarios with posts across post types having the same title and date.
Issue link: https://github.com/WordPress/wordpress-importer/issues/162