小编Kir*_*kan的帖子

TINYTEXT 作为 MySQL 中的主键?

表中的条目由 5-10 个字符长的单词唯一标识,并且我对列使用 TINYTEXT(10)。但是,当我尝试将其设置为主键时,我收到size丢失的错误。

根据我对文档的有限理解,Size主键可用于简化检测唯一值的方法,即当前几个字符(由 指定Size)足以将其视为唯一匹配时。在我的例子中,长度size从 5 到 10 不等(它们都是 latin1,所以它们是每个字符的精确字节 + 1 的长度)。两个问题:

  1. 如果我想使用 TINYTEXT 作为主键,size我应该指定哪个?在本例中最多可用 - 10?或者应该是size 严格精确的,例如,如果我的密钥是 6 个字符长的单词,但我将SizePK 指定为 10 - 它会尝试读取所有 10 个字符,并且会失败并抛出异常?
  2. 使用 [TINY]TEXT 进行 PK 性能会有多差?所有 Google 结果都让我得出意见和声明“这很糟糕,你被解雇了”,但考虑到 TINYTEXT 的最大长度为 255 并且我已经将最大长度指定为 10,在这种情况下真的是这样吗?

mysql tinytext

3
推荐指数
1
解决办法
2278
查看次数

标签 统计

mysql ×1

tinytext ×1