我必须保持我的数据库中某些记录的排名,这些记录会在最后一次交互时改变家属。
Post
______________
Id
Content
LastAccessTime
LastRankedTime
Rank
我正在考虑定期访问数据库,并使用LastRankedTime获取所有帖子> 15分钟
然后在将每个项目全部写回DB
之前对每个项目应用Rank()如果我必须对> 10.000条记录进行排名,我是否必须担心长排名计算或重读/写重载我的服务器/数据库?
解决这个问题的更好方法是什么? 每个Db访问记录数量有限的限制线程如何帮助?
答案 0 :(得分:1)
根据您使用的数据库,可以有多个数据库节点,您可以想到集群数据库。
您只能在一个节点中写入数据。这将没有表中的索引。这使得插入更快。你不读这个节点。
同时,另一个节点仅用于读取目的,并且为了更快的搜索而进行了大量索引。
第一个节点将定期将数据同步/复制到其他节点。您可以配置此类同步的间隔。这是标准方法,通常在流量较大的大型架构中遵循。
答案 1 :(得分:-1)
在您使用它的列上创建索引将正常工作