今天早上我们开了一个会,讨论如何在我们正在制作的数据库中存储某些资产的 ID, 讨论有点激烈,所以我决定向 SO 的专家请教。
我认为我们应该有如下表结构(简化版本):
示例1)
- AssetId - int(32) - 主键
- Type - 字符串
因此一些示例数据如下:
==AssetId======Type===
12345 "Manhole"
155415 "Pit"
另一个团队成员建议类似以下这样:
示例 2)
- AssetId - 字符串 - 主键
- Type - 字符串
因此,一些示例数据如下:
==AssetId======Type===
"MH12345" "Manhole"
"P155415" "Pit"
我们会对类型进行简短的版本处理,然后将其附加在ID前面并存储到数据库中。我见过一些资产数据库采用这种方法,但从未真正喜欢它。
出于排序原因,我不太喜欢使用字符串作为ID。此外,当你已经拥有了资产类型时,我觉得这样做只是为了存储无用信息。
您会采取什么方法?为什么?采用方法1是否有任何优势?
编辑:是的,我将在方法1中使用AUTO_INCREMENT。