我必须存储200万个代码,每个代码都是一个固定长度为11的字符串。每个代码都有一个名为“used”的布尔属性,它将代码标记为是否使用(!)。代码量将永远相同(没有创建代码,没有删除代码,没有更新代码),唯一的更新操作将是现有代码的used属性。
每次用户在网络表单上输入代码时,我都必须搜索该代码,检查代码是否已被使用,如果没有,请将其标记为已使用。
会有很多用户输入代码(同时最多50个用户,是的,这对我来说很多!)所以我想知道什么是让我的webapp不会变得缓慢的好方法。
这对postgres(我最喜欢的DBMS)是否可行?我应该进一步探索postgres的哪些功能?索引?
这种任务最好是由nosql执行的吗?也许redis?
我将使用云服务器(rackspace)。我应该投入多少公羊?数据库中还会发生其他事情,但相比之下没什么重要意义吗?我猜1GB。
我应该研究哪些其他事情?
我不希望任何人为我做任何研究,只需要一些指示,以便我可以进一步研究这个问题。
谢谢!
答案 0 :(得分:1)
是的,SQL数据库会这样做。
创建一个至少包含两列的表,used_flag和code
为代码添加索引。
答案 1 :(得分:0)
使用适当的索引代码字段应该足够快。数据库不会进行200万次迭代,索引将是log(2)200万~20。应该快速进行20次迭代