小编Jak*_*ski的帖子

扩展高分数据库

我有一个简单的高分服务的在线游戏,它已经变得比预期更受欢迎.高分是一个Web服务,它使用带有简单表的MYSQL后端,如下所示.每个高分记录都存储在此表中的一行中.问题是,如果行数超过140k,我会发现某些关键查询速度过慢,以至于很快就无法为请求提供服务.

主表看起来像这样:

  • id是每个得分记录的唯一键
  • 游戏是提交分数的游戏的ID号(目前,总是等于"1",很快就会支持更多的游戏)
  • name是该播放器提交的显示名称
  • playerId是给定用户的唯一ID
  • 得分是一个数字得分表示ex 42,035
  • 时间是提交时间
  • rank是一个大整数,它对给定游戏的得分提交进行唯一排序.人们通常会在某个分数上打成平手,因此在这种情况下,首先提交的人会打破平局.因此,该字段的值大致等于"得分*100000000 +(MAX_TIME - 时间)"
+----------+---------------+------+-----+---------+----------------+
| Field    | Type          | Null | Key | Default | Extra          |
+----------+---------------+------+-----+---------+----------------+
| id       | int(11)       | NO   | PRI | NULL    | auto_increment |
| game     | int(11)       | YES  | MUL | NULL    |                |
| name     | varchar(100)  | YES  |     | NULL    |                |
| playerId | varchar(50)   | YES  |     | NULL    |                |
| score    | int(11)       | …

mysql

7
推荐指数
1
解决办法
1842
查看次数

标签 统计

mysql ×1