gpt4 book ai didi

sql - 在 sql 表中为预定义值保留一个整数或 varchar

转载 作者:搜寻专家 更新时间:2023-10-30 20:08:35 24 4
gpt4 key购买 nike

我有一个名为 Frequency 的 varchar 列,我只能在其中插入预定义的集合或字符串

'Daily', 'Weekly', 'Monthly', 'Yearly' 

没有别的,他们肯定不会改变。

是否有任何理由创建一个名为 Frequencies 的单独表并通过外键对其 ID 进行引用,或者我是否应该在性能、可读性、维护等方面保留主表中的 Frequency 列。

在性能方面,int 更好,是的,但是对单独表的额外请求更差。

或者最好在主表中保留整数,而不是创建第二个表并在客户端创建一个映射:

1 -> 'Daily', 
2 -> 'Weekly',
3 -> 'Monthly',
4 -> 'Yearly'

最佳答案

合理的 RDBMS 会将对小频率表的查找优化为哈希表查找等。存储完整的字符串会浪费主表中的空间。使用数字索引和单独的表格。如果你的客户想在客户端做映射,那么仍然可以做,如果他们想通过加入小表来获得全名,他们仍然可以做。

关于sql - 在 sql 表中为预定义值保留一个整数或 varchar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36527250/

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