mysql - big id 的最佳主键数据类型是什么?
问题描述
在 MySQL 中,我需要存储长度为 21(google 或 facebook uid)的主键,其大小比 int(最大值为 2147483647)和 BIGINT(最大值为 9223372036854775807)大得多,
我还阅读了有关 varchar 的信息,并意识到它具有低性能和 AUTO_INCREMENT 问题。
这种情况下最好的主键是什么?
解决方案
为什么不直接使用numeric(21, 0)
?这似乎准确地描述了你在寻找什么。
我不会说“varchar 性能低下”。更准确的是,较短的密钥更好,固定长度的密钥更好。因此,字符串作为索引的键并不是最佳的。但是,它们在需要时仍然非常合理。
推荐阅读
- c# - MySQL - 即使结果为零也选择定义的值
- python - 为什么 Python 代码需要这么长时间才能在数据集中找到接近点?
- php - PHP 中有原生的多维、多类型排序吗?
- postgresql - 如何将显着性测试和相关性计算添加到 cube.js 流中?
- laravel - Laravel - 将数据更新到 2 个相关表中失败
- python - Django Admin 不允许向表中输入数据
- docker - 在 Jenkinsfile 中执行 Dockerfile
- html - 可以让子元素占据上一级父元素的 50% 吗?
- html - 具有三个 div 的边框的可见性
- angular - 根据测试执行顺序,使用 TestBed.inject 的 Angular 单元测试成功/失败