gpt4 book ai didi

mysql - 查询在唯一或首先查询时失败更快吗?

转载 作者:行者123 更新时间:2023-11-29 14:44:09 25 4
gpt4 key购买 nike

我有一个非常基本的网络爬虫。存储找到的链接的数据库表在 url 字段上有一个唯一索引。

到目前为止,我的逻辑是,对于页面上找到的每个链接,应用程序将查询链接表以查看该链接是否已存在。如果它尚不存在,它将插入它。

在尝试获得脚本的最佳性能时,是否可以跳过检查链接是否已存在的初始查询,因为如果链接尝试插入它无论如何都会失败?

因此将会有更多的插入尝试,但将消除对找到的每个链接进行完整选择查询的需要。

最佳答案

我猜想先运行 select 会更快,但测试比直觉更可靠。

结果取决于 select、成功插入和失败插入的相对速度。为失败的插入创建错误完全有可能比附加选择花费更多的时间,但如果这种情况发生的频率足够低,那么它仍然比附加选择要少。

例如,假设一次选择需要 1 毫秒,一次成功插入需要 20 毫秒,一次失败插入需要 10 毫秒。 (所有数字完全是发明的)。如果每 100 个项目中有 99 个会成功,那么 100 个选择/插入将花费 2080 毫秒,而插入/失败将只花费 1990 毫秒。另一方面,100 次插入中只有 10 次会成功,那么 100 次选择/插入将花费 300 毫秒,而 100 次插入/失败将花费 1100 毫秒。

简短的回答:计时。

关于mysql - 查询在唯一或首先查询时失败更快吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7341329/

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