gpt4 book ai didi

database - 当插入比查询多得多时必须应用数据库规范化吗?

转载 作者:行者123 更新时间:2023-11-29 13:37:16 25 4
gpt4 key购买 nike

我做了一个网络爬虫,它在数据库中插入各种页面和链接。目前,抓取的 URL 域是页面和链接表中的一个属性。

我正在考虑为域创建一个表,但我担心这会减慢插入速度。

目前,我下载了 1,200,000 个链接,数据库中有 70,000 个页面,而且这个数字还会增加。

什么是更好的解决方案?创建域表?在域属性中创建索引(它是一个 varchar)?

PS:我开发的另一个程序将在此数据库中进行查询。

最佳答案

如果我理解正确的话,您有两个表:“链接”和“页面”。您对这些表中的字段只字不提。更多信息会很好。

无论如何,完全规范化的数据库往往会削弱性能。我建议将域作为属性保留在两个表中。一点冗余可能会提高您的性能。

还有一个建议,您可能希望拥有两个数据库,而不是一个数据库:一个仅用于插入和更新;一个用于插入和更新。另一个用于只读访问(选择)。

在第一个数据库中删除所有索引和约束。这将为您提供快速的插入/更新操作。

在只读数据库中,适当设计索引,使检索操作更快。

当然,你需要以某种方式同步两个数据库。这可能需要一些额外的编码。

关于database - 当插入比查询多得多时必须应用数据库规范化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6700931/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com