0

我必须存储 200 万个代码,每个代码都是一个固定长度为 11 的字符串。每个代码都有一个名为“已使用”的布尔属性,用于标记代码是否已使用(!)。代码的数量将永远相同(没有创建代码,没有删除代码,没有更新代码),唯一的更新操作将是现有代码的已使用属性。

每次用户在 Web 表单上输入代码时,我都必须搜索该代码,检查它是否已被使用,如果没有,则将其标记为已使用。

会有很多用户输入代码(最多同时输入 50 个,是的,这对我来说很多!)所以我想知道什么是让我的 web 应用程序不至于缓慢的好方法。

这对 postgres(我最喜欢的 DBMS)可行吗?我应该进一步探索 postgres 的哪些功能?指数?

这种任务最好由 nosql 执行吗?也许是redis?

我将使用云服务器(机架空间)。我应该放入多少内存?数据库还会发生其他事情,但相比之下没有什么重要的?我猜是1GB。

我还应该研究什么?

我不希望任何人为我做任何研究,只需要一些指示,以便我可以进一步调查这个问题。

谢谢!

4

2 回答 2

1

是的,一个 SQL 数据库可以做到这一点。

创建一个至少包含两列 used_flag 和 code 的表

为代码添加索引。

于 2012-04-24T12:24:35.143 回答
0

使用适当的索引代码字段应该足够快。数据库不会进行200万次迭代,索引会是log(2) 200万~20。20次迭代应该足够快

于 2012-04-24T12:50:13.180 回答