gpt4 book ai didi

mysql - 将枚举存储为整数与字符串之间有区别吗?

转载 作者:行者123 更新时间:2023-11-30 01:00:26 25 4
gpt4 key购买 nike

我是否应该将标题、性别和称呼等选项存储为整数,或者它不相关,我可以将它们存储为字符串?

class User < ActiveRecord::Base
enumerize :gender, in: [:male, :female]

TITLE = { dr: 0, prof: 1, prof_dr: 2 }
def title
TITLE.key(read_attribute(:title))
end

def title=(t)
write_attribute(:title, TITLE[t.to_sym])
end
end

假设我有 2000 个用户,每个用户有 6 个可能的选项。

最佳答案

过去,当存储空间昂贵时,就有理由将字符串存储为数字。在当今时代,除了嵌入式应用程序(可能不应该运行 Rails)之外,没有必要,特别是考虑到您的示例数据库大小为 2000 个用户。

此外,如果将字符串存储为数字,则会有以下缺点:

  • 代码复杂性增加
  • 没有代码就无法“读取”的数据库(完成了一些数据库端口并编写了 Rails 作为后端数据分析的前端,这些都变得很重要。)

出于性能问题,请确保您的数据库 key 设置正确。

关于mysql - 将枚举存储为整数与字符串之间有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20177471/

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