Php 这三个选项中,哪一个填充我的DB表最快?

Php 这三个选项中,哪一个填充我的DB表最快?,php,mysql,curl,xmlreader,Php,Mysql,Curl,Xmlreader,我有一个(巨大的:640万行)数据库表,有三列,如下所示: URL Title Description 现在只填充URL列,其中包含来自web的各种URL。我必须在每一行的url中添加标题和元描述。我认为有三种方法可以做到这一点: 选项1:使用php和CURL转到每个url并获取标题和meta:description。(即使使用选项2或3,我也必须为至少部分URL执行此操作) 选项2:我有一个DMOZ xml文件,其中包含数百万个元素,如下所示: <Extern

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

URL     Title      Description
现在只填充URL列,其中包含来自web的各种URL。我必须在每一行的url中添加标题和元描述。我认为有三种方法可以做到这一点:


选项1:使用php和CURL转到每个url并获取标题和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>

About.com:动画指南
在所有技能水平上跟上在线动画的发展。下载工具,从在线工作中寻求灵感。
热门/艺术/动画
香椿犬
英国卡通、动画和连环漫画创作-来自英国的链接、评论和新闻。
热门/艺术/动画
等等

我可以使用xmlreader比较每个ExternalPage中的url,看看它是否与我表中640万个url中的一个匹配,如果匹配,则添加标题和描述

选项3:我可以将上面所有的dmoz数据写入一个单独的数据库表(同样使用xmlreader),这也需要时间,然后在两个表上使用连接和选择来获得我需要的信息


对于这些URL,选项2或3会比仅对所有URL使用选项1更快吗?如果是,两个选项中哪一个更快?

它只是一个脚本,您将只运行一次。。速度不是很快也没关系。 顺便说一下,600万行不是太大,在任何一台像样的计算机上都需要几分钟

卷曲解决方案根本不是一个选项!你知道获取600万个URL需要多长时间吗

将XML插入数据库,并根据需要执行查询

编辑:要捕获数百万个URL(可能需要几周时间才能完成!):

  • 获取服务器(连接速度比家庭计算机更快)
  • 将URL导出到文本文件
  • 使用wget下载每个URL(不要忘记使用多个wget进程)

  • 这只是一个脚本,您只能运行一次。。速度不是很快也没关系。 顺便说一下,600万行不是太大,在任何一台像样的计算机上都需要几分钟

    卷曲解决方案根本不是一个选项!你知道获取600万个URL需要多长时间吗

    将XML插入数据库,并根据需要执行查询

    编辑:要捕获数百万个URL(可能需要几周时间才能完成!):

  • 获取服务器(连接速度比家庭计算机更快)
  • 将URL导出到文本文件
  • 使用wget下载每个URL(不要忘记使用多个wget进程)
  • 假设“更快”意味着更新URL表的时间更短,那么选项3似乎是最好的选择

    您可以使用XML中的记录填充另一个表,然后使用JOIN更新主表。

    假设“更快”意味着更新URL表的时间更短,那么选项3似乎是最佳选项


    您可以使用XML中的记录填充另一个表,然后使用JOIN更新主表。

    INSERT
    语句中使用
    XMLReader
    关于重复更新的
    子句。并循环它直到XML文件结束。@DoSparKot谢谢。我很清楚,您提倡选项2是最快的?“使用php和CURL访问每个url并获取标题和meta:description(即使使用选项2或3,我也必须至少为url的一部分执行此操作)。”在
    INSERT
    语句中使用
    XMLReader
    在重复更新时使用
    子句。并循环它直到XML文件结束。@DoSparKot谢谢。我很清楚,你提倡选项2是最快的?“使用php和CURL访问每个url并获取标题和meta:description(即使使用选项2或3,我也必须至少在url的一部分中这样做)。”感谢你的回答。那么你是说选项3是最好的?同样,我也没有选择,因为dmoz文件中仍然有数百万个URL没有数据,我需要数据…:-(是否有理由使用wget而不是curl?wget已经存在,您不需要再次编写代码。我相信它也会更高效。感谢您的回答。所以您说选项3是最好的?同样,重新curl,我真的没有选择,因为dmoz文件中仍然有数百万个URL没有数据,并且我需要数据…:-(是否有理由使用wget而不是curl?wget已经存在,您不需要再次编写代码。我相信它也会更高效。