我在Stack Overflow上看到了一篇类似的文章,但还不是很满意。MySQL - 使用字符串作为主键
比方说,我提供了一个Web服务。 http://foo.com/SERVICEID
SERVICEID是用于引用服务的唯一字符串ID(base64,lower/uppercase +数字),类似于URL缩短器服务为URL生成ID的方式。
我知道比较字符串与整数有内在的性能问题。
但我很好奇如何最大限度地优化String类型的主键。
我正在使用MySQL,(目前使用MyISAM引擎,虽然我承认不了解所有的引擎差异)。
谢谢。我的目的
更新字符串实际上只是一个base62编码的整数,因此主键是一个整数,因为你不可能永远超过BIGINT的规模它只是没有太多的意义使用其他任何东西(对于我的特定用例)
谢谢,我非常肯定我不会有太大的区别,但是想从社区那里听说“那里已经完成了” – 2010-08-11 05:29:48
注意:对于仅限ASCII码的代码而非真实的文字(例如哈希,base64,标准国家代码等),使用'ascii_bin'排序规则可能是一个好主意。如果您使用基于utf-8的排序规则,则它将为CHAR列而不是仅为1的每个字符保留3或4个字节。 – thomasrutter 2015-08-12 01:10:31
请勿在主键中使用国家代码。 – displayname 2017-05-03 19:22:14