作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
有两种方法可以将枚举类型存储在数据库中:作为字符串或作为整数。
将枚举( sex = {male,female}
、 account_type = {regular,pro,admin}
等)保存为字符串使事情更具可读性,但需要比整数更多的空间。
另一方面,整数需要映射进出数据库的枚举。作为一个好处,区分大小写是在数据库之外用整数处理的。
假设两者都被索引,那么进行整数转换通常值得吗?使用整数查找的速度有多快?
示例
也许一个具体的例子可以帮助形象化事物。
让我们将上述 account_type 与 100,000 个用户的数据库结合起来。
字符串枚举
假设8位定长CHAR类型
7*100000*8/8 = 700000 bytes
100000*8/8 = 400000 bytes
最佳答案
答案是,正如您所期望的,这取决于。
数据库越大,节省的空间就越显着——不仅在磁盘上,而且在网络 IO 和计算上。
就个人而言,我会存储整数而不是文本值,除非有直接的数据库支持枚举(如 MySQL)。
关于sql - 将数据库字符串枚举转换为整数值得吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6732039/
我是一名优秀的程序员,十分优秀!