我希望将排序后的列表存储在数据库中。我想有效地执行以下操作。
- Insert(x)-将记录x插入表中
- Delete(x)-从表中删除记录x
- Before(x,n)-返回排序列表中记录x之前的'n'条记录。
- After(x,n)-返回排序列表中记录x之后的'n'条记录。
- First(n)-返回已排序列表中的前n个记录。
- Last(n)-从排序列表中返回最后的'n'条记录。
- Compare(x,y)-给定表中的两个记录x和y,请确定x> y。
我能想到的简单方法是在表中存储某种“等级”属性,并通过对该属性进行排序进行查询。但是在这种方法中,插入/修改具有等级的记录成为昂贵的操作。有没有更好的方法?
具体来说,我希望使用Amazon的SimpleDB实现该表。但是对关系数据库的一般回答也应该会有所帮助。
负载配置文件更新:
由于我正在针对Web应用程序进行规划,因此这取决于使用该应用程序的用户数量。
如果有10万活跃用户(超级乐观:P),那么我每天的估算值大概是
500k选择,100k插入和删除,500k更新
我希望桌子总数可以增长到50万。
我希望对更新,插入和比较操作进行优化。项目的等级将不断变化,我需要保持表格更新。