mysql - 在 SQL 上存储 XUID 最有效的方法是什么?

标签 mysql xbox-live

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

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

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

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

最佳答案

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

将其存储为 BIGINT UNSIGNED (始终 eight bytes )应该比 VARCHAR(20) 稍微更高效(并且使用更少的数据库磁盘空间) >(最多 21 个字节,具体取决于要存储的数字的大小,假设该列的字符集为每一位数字一个字节)。

关于mysql - 在 SQL 上存储 XUID 最有效的方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54339391/

相关文章:

c# - UWP/C# 应用程序如何登录 XBox 用户并显示玩家代号?

unity-game-engine - 导入 Xbox Live 服务后出现 JSON.net 错误

xbox-live - 使用 Xbox Web API 登录

taxonomy - SQL 重载 - 奇怪的查询

azure - 运行 Unity 的 Xbox Live 登录以验证 Azure 应用服务/移动服务

php - 如何将多个复选框值插入到表中

PHP 搜索功能不适用于某些产品,但适用于其他产品

c# - "The application does not have the cloud notification capability"在 xbox live 上统一登录

php - PHP 中 WHERE 后的多列?

c# - 如何通过迭代行从 DataTable 中检索数据