观澜Media

AI技术 · 深度资讯 · 前沿观察

数据结构即使有错误也没关系

您正在构建一个 URL 缩短器。 每次有人创建短链..

您正在构建一个 URL 缩短器。

每次有人创建短链接时,您都会生成一个随机代码并检查它是否已存在于数据库中。

对于 1,000 个 URL,这很好 – 查询需要一毫秒,索引很小,没有人注意到。

在 1 亿个 URL 中,您生成的代码会更频繁地发生冲突(生日悖论),每次冲突都会触发另一个数据库往返行程,并且这些往返行程会在高吞吐量下累加。

你之所以慢并不是因为你的代码很糟糕——而是因为你向数据库询问了一个它不需要回答的问题。

检查“abc123”——它在集合中吗。

来源:Dev.to

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注