数据库设计,添加一个额外的列,而不是用函数转换现有的列

2024-10-04 01:33:57 发布

您现在位置:Python中文网/ 问答频道 /正文

假设有一个只有一列的数据库表,它是一个PK。为了让事情更具体,这是一个django项目,数据库是mysql。你知道吗

如果我需要一个包含所有唯一值的附加列,我应该创建一个包含唯一整数的新UniqueField,还是只编写一个类似哈希的函数,将每个现有行(模型实例)的现有PK转换为一个新的唯一变量。当前PK是varchar/&string。你知道吗

创建新列会消耗更多内存,但我认为编写新函数和频繁转换字段也有缺点。有什么想法吗?你知道吗


Tags: 项目django实例函数内存模型数据库string
1条回答
网友
1楼 · 发布于 2024-10-04 01:33:57

在任何现代数据库系统中,具有字符串值PK都不应该是问题。PK是自动索引的,因此当您使用table1.pk = 'long-string-key'这样的条件执行查找时,它不是字符串比较,而是索引查找。所以不管键值的长度如何,都可以使用字符串值PK。你知道吗

在任何情况下,如果您需要一个包含所有唯一值的附加列,那么我认为您应该添加一个新列。你知道吗

相关问题 更多 >