小编Nat*_*man的帖子

我应该用整数主键替换我的 varchar 主键吗?

我有一个表,它有一个与“基本产品代码”相关联的 varchar 主键。它们很少更改,如果更改,通常只是被删除或添加。我认为最好为部分产品代码编制索引,以便我可以根据部分产品代码对数据执行搜索。

例如,“基本产品代码”采用以下格式:

ABC-AB12

该表存储了产品和配件之间的关系,每个产品或配件可以有多个关系:

Id          |     Prod     |    Acc    | Val
---------------------------------------------
ABC-AB12_1  |    ABC-AB12  |   ABC1    |  1
ABC-AB12_2  |    ABC-AB12  |   DEF1    |  2
ABC-AB12_3  |    ABC-AB12  |   GHI1    |  A
Run Code Online (Sandbox Code Playgroud)

我将每个关系的 id 存储为产品基本代码,并在其末尾附加一个整数。

我想如果我需要搜索特定产品的所有关系,使用主键和搜索会比在Prod列上搜索更快。

这是一个错误的假设吗?我应该将其Id改为自动递增的整数吗?

mysql innodb primary-key varchar

5
推荐指数
1
解决办法
3733
查看次数

标签 统计

innodb ×1

mysql ×1

primary-key ×1

varchar ×1