我有一个(大的:640万行)数据库表,有三列,如下所示:

URL     Title      Description

现在只有URL列被填充,其中包含来自web周围的各种URL。我必须在每行的url中添加标题和元描述。我认为有三种方法可以做到这一点:
选项1:使用php和CURL转到每个url并获取title和meta:description。(即使使用选项2或3,我也必须至少对部分url执行此操作)。
选项2:我有一个DMOZ xml文件,其中有数百万个元素,如下所示:
    <ExternalPage about="http://animation.about.com/">
       <d:Title>About.com: Animation Guide</d:Title>
       <d:Description>Keep up with developments in online animation for all skill levels.     Download tools, and seek inspiration from online work.</d:Description>
       <topic>Top/Arts/Animation</topic>
    </ExternalPage>
    <ExternalPage about="http://www.toonhound.com/">
       <d:Title>Toonhound</d:Title>
       <d:Description>British cartoon, animation and comic strip creations - links, reviews  and news from the UK.</d:Description>
       <topic>Top/Arts/Animation</topic>
    </ExternalPage>

等。
我可以使用xmlreader比较每个外部页面中的url,看看它是否与表中640万个url中的一个匹配,如果匹配,则添加标题和说明。
选项3:我可以将上述所有dmoz数据写入一个单独的数据库表(同样使用xmlreader),这也需要时间,然后以某种方式使用两个表上的连接和选择来获取所需的信息。
对于这些url,选项2或3是否比对所有url使用选项1更快?如果是,两个选项中哪一个更快?

最佳答案

假设“更快”意味着更新URL表的时间更短,那么选项3似乎是最好的选择。
您可以用XML中的记录填充另一个表,然后使用JOIN更新主表。

09-10 06:02
查看更多