One big help I have found with importing / updating large qty’s of posts is to use InnoDB tables and transactions, in batches of 200-500 posts (with more postmeta, use smaller post batches). It greatly improves performance, given that much of it is individual MySQL statements each of which must hit the db transaction log at some point. So:
- issue a
$wpdb->query('start transaction');
- after (batch count), issue a
$wpdb->query('commit');
and another$wpdb->query('start transaction');
- on completion, issue a
$wpdb->query('commit');
- on failure / exception, issue a
$wpdb->query('rollback');
After doing that, then look at your #2 for the postmeta, building a single SQL statement for inserting (or updating) all postmeta for a post at once, because that will also make a big difference once you have transactions.
Related Posts:
- Importing old blog with regular posts into new custom post types
- Custom post types not imported properly
- WordPress import not importing custom taxonomy
- Beginner question: Accessing functions.php through admin web interface in order to import custom post types?
- WP All Import – Using Xpath to set a select value
- WordPress export tool doesn’t export post-format value of custom post type?
- Create a clone from one WordPress site to another in a few minutes
- ACF Values Don’t Show After Import Unless I Edit/Update Post
- How to handle a CSV with 65,000+ rows and make it searchable?
- How to import files to individual posts of a custom type
- Create a page by importing data from an XML file ( On clicking a button inside admin options page)
- Convert comma separated list to serialized array to import as post meta
- Two-way synchronizing of a post type among multisite blogs
- Invalid content when I try to import custom post type from the old template wordpress
- Custom post types imported from another wordpress site, not showing on frontend unless I go in and reupdate them
- Exporting Post type from one theme and importing it to another theme
- Importing URLs of Audio Enclosures
- Imported Content Doesnt Show Up On Frontend
- Creating connections programmatically with common fields on CPT’s
- How do test if a post is a custom post type?
- Where to put my code: plugin or functions.php?
- What does this PHP function code mean? [closed]
- Remove slug from custom post type post URLs
- How to disable the single view for a custom post type?
- Custom post types, taxonomies, and permalinks
- Query all posts where a meta key does not exist
- How to create a permalink structure with custom taxonomies and custom post types like base-name/parent-tax/child-tax/custom-post-type-name
- How to get all taxonomies of a post type?
- How to sort the admin area of a WordPress custom post type by a custom field
- How to create a custom search for custom post type?
- Deregister custom post types
- Can I assign a template to a custom post type?
- Permalinks: custom post type -> custom taxonomy -> post
- Should I use custom post types or a custom database tables for plugin development?
- Enable revisions for custom post type
- Extending the search context in the admin list post screen
- How do I query a custom post type with a custom taxonomy?
- Adding a Custom Post Type into the menu screen
- Pagination not working with custom loop
- How to Add Tags to Custom Post Type?
- How come Featured Image isn’t showing up in my Custom Post Type?
- Custom Post Type URL Rewriting?
- Add category base to url in custom post type/taxonomy
- Include custom taxonomy term in search
- Is It Possible To Add Custom Post Type Menu As Another Custom Post Type Sub Menu
- Adding ‘menu order’ column to custom post type admin screen
- Capabilities and Custom Post Types
- Can the Next/Prev Post links be ordered by menu order or by a meta key?
- what is the correct way to compare dates in a WP query_posts meta_query
- Use register_post_type() to modify an existing post type
- Custom Taxonomy specific to a Custom Post type
- Renaming Custom Post Types and Taxonomies
- List all posts in custom post type by taxonomy
- Redeclare/Change Slug of a Plugin’s Custom Post Type
- Allow member to have access to custom post type only. Permission to only edit their own posts
- Mixing custom post type and taxonomy rewrite structures?
- Advanced search form with filters for custom taxonomies and custom fields
- Highlighting wp_nav_menu() Ancestor Class w/o Children in Nav Structure?
- Resolve a custom post type name vs. page permalink conflict (same slug)
- Get custom post_type’s archive URL
- Enable Gutenberg on custom post type
- Is there a way to get N number of WYSIWYG editors in a custom post type?
- Can multiple custom post types share a custom taxonomy?
- How to Add Custom Fields to a Custom Post Type?
- Hook for post and page load
- How to enqueue scripts on custom post add/edit pages?
- How to display value of custom fields in page
- Where are wordpress custom types stored?
- Using save_post to replace the post’s title
- Custom Post Type pages are “not found”
- Possible to hide Custom Post Type UI/Menu from specific User Roles?
- How do I safely change the name of a custom post type?
- Custom post type single page returns 404 error
- Change “Enter Title Here” help text on a custom post type
- Hide content box with Custom Post Type?
- Change the text on the Publish button
- WP REST API fetch posts from post type
- Remove taxonomy slug from a custom hierarchical taxonomy permalink
- Adding categories to custom post type in permalink
- Load a script just to custom post type in admin
- Display all posts in a custom post type, grouped by a custom taxonomy
- How do you use a CPT as the default home page?
- get_terms by custom post type
- single-{$post_type}-{slug}.php for custom post types
- How do you use orderby with meta_query in WordPress 3.1?
- Custom post type single-{custom}.php not working
- How to get custom post type post id from slug?
- Programmatically publish a post (custom post type) with custom fields
- How to Add a Sub Menu Page to a Custom Post Type?
- Prevent post from being published if custom fields not filled
- WP_Query Pagination on single-custom.php
- With Rest V2 (WP4.7) how does one restrict certain RESTFUL verbs?
- Remove Custom Taxonomy Metabox from Custom Post Type Screen
- Is it possible to remove WYSIWYG for a certain Custom Post Type?
- Multiple orderby values in WP_Query
- Placing a Custom Post Type Menu Above the Posts Menu Using menu_position?
- How do I get the permalink of a custom post type?
- Custom post type – order field
- How to remove custom post type archive
- Row actions for custom post types?