优化wp_insert_post到一个大的基础?

时间:2016-08-19 22:16:35

标签: php wordpress

我在PHP中有一个脚本读取文本文件,文件的每一行都作为post在wordpress上插入wp_insert_post()。

在数据库变大之前,一切都很好。

目前,该基地已超过250,000个帖子,现在进程非常缓慢。

它只读取文件的2000行并将基数插入一小时。

有没有人有改进过程的任何提示?

下面的

是代码的一部分......

  
$pointer = fopen ("file.txt", "r");
while (! feof ($ pointer)) {
    $ Line = fgets ($ pointer, 4096);//Here I get the information I need to post the variables ..
    $ My_post = array ();
    $ My_post [ 'post_title'] = $post_title;
    $ My_post [ 'post_content'] = $content;
    $ My_post [ 'post_status'] = 'publish';
    $ My_post [ 'post_author'] = 1;
    $ My_post [ 'post_category'] = $NewcatArray;
    $ My_post [ 'tags_input'] = $tags 
    $ Postid = wp_insert_post ($ my_post);
}

1 个答案:

答案 0 :(得分:0)

您可以尝试在循环之前禁用自动提交

$wpdb->query( 'SET autocommit = 0;' );

然后在循环提交并重新启用自动提交

之后

$wpdb->query( 'COMMIT; SET AUTOCOMMIT = 1;' );