我有一个包含产品信息的XML文件。
XML文件格式:
<product>
<name>Product-1</name>
<description>this is product 1 description</description>
<category>Category-1<category>
<merchant>1234</merchant>
<price>12</price>
<instock>1<instock>
<stockstatus>45</stockstatus>
<image>http://www.example.com/1.jpg</image>
<manufacture>987</manufacture>
</product>
我需要写一个脚本,将这些细节添加为产品。目前,我没有使用任何用于电子商务目的的WP插件。
我计划创建一个自定义帖子类型wpproduct 将存储这些产品的详细信息。
所以现在我可以用name
像post title
, description
像post content
和image
像post thumbnail
. 为了存储元数据,我可以将其存储在postmeta
桌子
所以我可以使用wp_insert_post
不管怎样ID
它将返回,我将在中使用该IDupdate_post_meta
更新元数据,如价格、库存状态、库存数量、制造商等。
这样就可以做到。。
主要问题是,对于单个产品,我需要写1wp_insert_post
然后是6update_meta_data
查询So 7查询1个产品。不完全是7查询,因为WP内置函数使用许多查询进行验证检查。
如果我的XML文件有10万个产品,会发生什么。因此,对于添加10万个产品,将运行70万个mysql查询。
假设
我只是想知道我是否可以在WP WP\\u posts表中添加自定义列,这样我就可以只在一个查询中添加一个产品。我可能会使用原始mysql查询来添加它。
请帮助我并指导最好的方法。
谢谢
SO网友:Rarst
导入本质上是一项繁重的操作,因为它是批量操作,写入本质上非常繁重(相对于读取)。
如果你没有时间限制手术,这真的重要吗?
将导入编写为命令行工具确保禁用PHP超时确保您可以在某个时刻高效地重新启动流程,以防出现问题之后,需要的时间和需要的时间一样长。
如果时间有限(例如必须经常/重复运行),则需要将其作为一般性能问题来处理。也就是说,您需要分析实际性能,并确定过程中的瓶颈是什么。
如果多个查询是一个问题,您可以考虑分阶段的过程,即meta在导入时首先存储为单个条目,然后在以后扩展为更方便的形式。
我建议不要修改本机表,因为在这种情况下似乎几乎不需要进行功能性修改。