我有一个(巨大的:640 万行)数据库表,其中三列如下:
URL Title Description
现在只填充了 URL 列,其中包含来自网络的各种 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>
等等
我可以使用 xmlreader 比较每个 ExternalPage-about 中的 url,以查看它是否与我的表中的 640 万个 url 中的一个匹配,如果匹配,则添加标题和描述。
选项 3:我可以将上述所有 dmoz 数据写入单独的数据库表(再次使用 xmlreader),这也需要时间,然后以某种方式在两个表上使用 JOIN 和 SELECT 来获取我需要的信息。
对于这些 url,选项 2 或 3 会比仅对所有 url 使用选项 1 更快吗?如果是,这两个选项中哪一个会更快?