ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

mysql – Rails枚举:String还是Integer列?

2019-06-26 12:01:30  阅读:248  来源: 互联网

标签:mysql enumeration ruby-on-rails-3 gem


我目前正在为枚举寻找合适的Rails gem.

我已经试过了

> enum_simulator
> has_enum

>两者都使用数据库中的字符串列来存储枚举数据.
整数列不会有更好的性能或更少的存储消耗(使用MySQL)吗?
>那里有宝石可以做到吗?

非常感谢!

更新:
我找到了simple_enum gem,它使用整数值来表示数据库中的枚举.它支持rails 3.1并且维护得很好.

> simple_enum

解决方法:

Ruby Toolbox是你的朋友. https://www.ruby-toolbox.com/categories/Active_Record_Enumerations

我一直在使用enumerated_attribute,Rails 2.3和Rails 3都有很好的效果.是的,它使用字符串列.

IMO字符串列优于整数列,因为它们不暗示任何值的顺序,并且在不查看源代码的情况下使属性更容易理解(反向工程,如果您愿意).通常情况下,性能差异可以忽略不计,特别是如果你在这个领域有一个索引 – 你应该这样做.

在Rails 2.3中使用MySQL枚举字段已经证明很复杂,模式有问题,不确定它是否在Rails 3中存在.

标签:mysql,enumeration,ruby-on-rails-3,gem
来源: https://codeday.me/bug/20190626/1293607.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有