我有一个(巨大的:640万行)数据库表,其中包含三列,如下所示:
URL Title Description
现在只填充URL列,其中包含来自网络的各种网址。我必须在每行的url中添加标题和元描述。我认为有三种方法可以做到这一点:
选项1:使用php和CURL转到每个网址并获取标题和meta:description。 (即使使用选项2或3,我也必须为至少部分网址执行此操作)。
选项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来比较每个ExternalPage中的url,以查看它是否与我表中的640万个url中的一个匹配,如果匹配,则添加标题和说明。
选项3:我可以将所有上述dmoz数据写入一个单独的数据库表(再次使用xmlreader),这也需要时间,然后以某种方式在两个表上使用JOIN和SELECT来获取我需要的信息。 / p>
对于那些网址,选项2或3会比仅使用选项1更快吗?如果是,两个选项中的哪一个会更快?
答案 0 :(得分:1)
这只是一个脚本,你只会运行一次..如果它不是很快就没关系。 顺便说一下,600万行不是太大,在任何体面的计算机上都需要几分钟。
CURL解决方案根本不是一个选项!你知道获取600万个URL需要多长时间吗?!!
将XML插入数据库,并根据需要进行查询。
编辑:捕获数百万个网址(可能需要数周才能完成!):
答案 1 :(得分:0)
假设“更快”意味着更新URL表的时间减少,那么选项3似乎是最佳选择。
您可以使用XML中的记录填充另一个表,然后使用JOIN更新主表。