个性化阅读
专注于IT技术分析

WordPress:wp_create_category可能需要20秒才能完成

我继承了一个PHP和Wordpress项目, 其中的术语(分类法=’类别’)用于记录系统中的每个数据点。条款表中有30, 000多行。是的, 我知道-这是一个疯狂的决定, 但我没有做到。我只是坚持下去。

我有一个特定的脚本, 试图对几百个帖子进行修复。该修复程序要求我使用wp_create_category和wp_set_post_categories。我的问题是速度。似乎每个对wp_create_category的调用都会更新某种缓存, 或者从头开始重新加载/重写术语中的所有内容。我无法解释为什么每次通话都需要20到30秒才能完成。

除了使用术语存储系统中的每个数据点的明显错误之外, ..我在做这些慢速操作时还做错了什么?

在运行数百个wp_create_category和wp_set_post_categories之前, 是否有办法”禁用”某些东西, 这些东西会使我的生活减少等待的烦恼?


#1


我不是WP专家, 我的强项是更多数据库。也就是说, 这看起来像是数据库(或与数据库的交互)问题。

我的猜测是, 直接查看数据库是基于WP的, 并且可以更有效地导入类别, 可以为你提供更好的服务。将类别插入到以”创建类别”开始的链中, 然后移动到插入类别, 最后似乎插入了一个术语。 (请注意三个单独的链接, 以及源代码)WordPress Codex有一个数据库图, 该数据库图显示了帖子的一系列卫星表格中的”术语”。

因此, 如果你直接插入一个术语并找到你想要模仿的结构/数据信息(我建议在wp_termmeta和wp_term_taxonomy中重新创建或链接到适当的信息), 那么你将得到一个指数级更快的处理。

另一个选择是正确编写代码, 开始运行, 然后晚上回家。这实际上可能更简单。


#2


wp_create_category在执行插入操作之前检查该术语是否存在。因此, 就你而言, 如果你有3万行的数据, 并且索引不正确, 则会对性能产生一些影响。你可以优化数据库并为其重新编制索引, 然后再次测试是否仍然无效, 并且确定要插入唯一的类别, 然后尝试调用wp_insert_category(array(‘cat_name’=> $ cat_name, ‘category_parent’=> $ parent ));

赞(0) 打赏
未经允许不得转载:srcmini » WordPress:wp_create_category可能需要20秒才能完成
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

觉得文章有用就打赏一下文章作者

微信扫一扫打赏