0

官方的 Xbox Auth 文档将 XUID 称为无符号 int64,因此,我预计 SQL 等效项 BIGINT 是在 MySQL 数据库中存储它的最有效方式。

但是,我发现许多程序员在他们的数据库中将 XUID 存储为 VARCHAR(20),经过一些研究,我发现这些数据类型之间的主要区别是:

  1. VARCHAR(20)最多使用 21 个字节(取决于文本的长度)
  2. BIGINT始终使用 8 个字节,与文本的长度无关。

这就是我想到这个问题的方式,在 SQL 上存储 XUID 的最有效方法是什么?

4

1 回答 1

0

如果 XUID 是 64 位无符号整数,则它的值可以从 0 到 18,446,744,073,709,551,615。所以VARCHAR(10)不够大;你需要使用VARCHAR(20).

将其存储为BIGINT UNSIGNED(始终为8 个字节)比VARCHAR(20)(最多 21 个字节,具体取决于所存储的数字的大小,假设每个字节为 1列的数字字符集)。

于 2019-01-24T07:03:51.733 回答