Ken*_*son 31 mysql optimization primary-key-design
我已经在Stack Overflow上看到了类似的帖子,但不太满意.
假设我提供Web服务.http://foo.com/SERVICEID
SERVICEID是用于引用服务的唯一字符串ID(基本64,大写/大写+数字),类似于URL缩短器服务为URL生成ID的方式.
我理解比较字符串与整数有固有的性能问题.
但我很好奇如何最大限度地优化String类型的主键.
我正在使用MySQL,(目前正在使用MyISAM引擎,但我承认并不了解所有引擎的差异).
谢谢.
为了我的目的更新,字符串实际上只是一个base62编码的整数,所以主键是一个整数,因为你不可能超过bigint的大小,所以使用其他任何东西都没有多大意义(对我而言)特殊用例)
tho*_*ter 45
使用CHAR或VARCHAR作为主键没有任何问题.
在许多情况下,它肯定会占用比INT更多的空间,但在许多情况下,它是最合乎逻辑的选择,甚至可以减少所需的列数,从而提高效率,避免需要单独的ID字段.
例如,国家代码或州缩写已经具有标准化的字符代码,这是使用基于字符的主键而不是另外构成任意整数ID的好理由.
| 归档时间: |
|
| 查看次数: |
20911 次 |
| 最近记录: |