gpt4 book ai didi

MySQL - 使用字符串作为主键

转载 作者:IT老高 更新时间:2023-10-28 23:42:33 28 4
gpt4 key购买 nike

我已经在 Stack Overflow 上看到过类似的帖子,但不太满意。

假设我提供 Web 服务。 http://foo.com/SERVICEID

SERVICEID 是用于引用服务的唯一字符串 ID(以 64 为基数,小写/大写 + 数字),类似于 URL 缩短服务如何为 URL 生成 ID。

我了解比较字符串与整数存在固有的性能问题。

但我很好奇如何最大限度地优化String类型的主键。

我正在使用 MySQL,(目前使用的是 MyISAM 引擎,虽然我承认不了解所有引擎差异)。

谢谢。

update 出于我的目的,该字符串实际上只是一个 base62 编码的整数,因此主键是一个整数,并且由于您不可能超过 bigint 的大小,所以它不会使用其他任何东西都太有意义了(对于我的特定用例)

最佳答案

使用 CHAR 或 VARCHAR 作为主键没有任何问题。

在很多情况下,它肯定会比 INT 占用更多的空间,但在很多情况下,它是最合乎逻辑的选择,甚至可以减少您需要的列数,从而提高效率,避免需要有一个单独的 ID 字段。

例如,国家代码或州缩写已经具有标准化的字符代码,这将是使用基于字符的主键而不是为每个附加组成任意整数 ID 的一个很好的理由。

关于MySQL - 使用字符串作为主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3455297/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com