📋 表概述

character_arena_stats 表存储每个角色在各个竞技场槽位(slot 0/1/2 分别对应 2v2/3v3/5v5)的匹配分(MMR)数据。记录了当前匹配分和历史最高匹配分,用于竞技场匹配和排名计算。

📊 表结构

字段名数据类型默认值说明
guidint UNSIGNED0角色唯一标识,关联 characters.guid
slottinyint UNSIGNED0竞技场槽位:0=2v2, 1=3v3, 2=5v5, 3=单排
matchMakerRatingsmallint UNSIGNED0当前匹配分(MMR),用于系统匹配玩家
maxMMRsmallint(无)历史最高匹配分,用于赛季奖励判定

🔍 重要字段详解

slot — 竞技场槽位

竞技场类型标识。WoW 3.3.5 版本中,0 代表 2v2、1 代表 3v3、2 代表 5v5。每个角色可以有多个 slot 记录,对应不同类型。

matchMakerRating — 匹配分(MMR)

MMR 是系统用来匹配实力相当的玩家的隐藏分数,与可见的 rating(竞技场等级)不同。MMR 的升降幅度取决于对手实力和比赛结果。

maxMMR — 历史最高匹配分

记录角色在当前赛季中达到的最高 MMR 值。赛季结束时,奖励装备需要达到特定的最高等级门槛,maxMMR 就是判定的依据。

💡 SQL查询示例

查询某个角色的所有竞技场 MMR 数据

SELECT slot, matchMakerRating, maxMMR
FROM character_arena_stats
WHERE guid = 12345;

查询 3v3 竞技场 MMR 排名前10的玩家

SELECT c.name, cas.matchMakerRating, cas.maxMMR
FROM character_arena_stats cas
JOIN characters c ON cas.guid = c.guid
WHERE cas.slot = 1
ORDER BY cas.matchMakerRating DESC
LIMIT 10;

❓ 常见问题

Q: MMR 和竞技场等级有什么区别?

MMR 是系统内部用于匹配的隐藏分数,竞技场等级是玩家可见的排名分数。两者通常相近但不完全相同。匹配系统使用 MMR 来寻找实力相当的对手。

Q: 如何重置某个角色的竞技场数据?

删除 character_arena_stats 中对应 guid 的记录即可。注意这会将所有槽位的数据清空:DELETE FROM character_arena_stats WHERE guid = 12345;