海量积分数据实时排名处理 |
您所在的位置:网站首页 › 积分榜设计PS › 海量积分数据实时排名处理 |
需求概述
积分排名在很多项目都会出现,大家都不会陌生,需求也很简单,积分排名主要满足以下需求: 查询用户名次。 查询TopN(即查询前N名的用户) 实时排名(很多项目是可选的)当排序的数据量不大的时候,这个需求很容易满足,但是如果数据量很大的时候比如百万级、千万级甚至上亿的时候,或者有实时排名需求;这个时候要满足性能、低成本等需求,在设计上就变得复杂起来了。 常规积分排名处理这里列举下日常对于排名的常规做法和缺陷。 1. 数据库解决方案 这是最简单的做法,数据存储在数据库里面,然后利用数据库做排序处理。 这里分两种情况: 1.1单库/单表 参与排名的数据量小的时候的做法,所有数据存储在一张表上。 查询操作示例: 查询用户名次: SELECT count(*) as rank FROM 积分表 WHERE 积分 > (SELECT 积分 FROM 积分表 WHERE uid=’用户ID’) |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |