gpt4 book ai didi

sql - 将数据库字符串枚举转换为整数值得吗?

转载 作者:行者123 更新时间:2023-12-04 15:26:26 27 4
gpt4 key购买 nike

有两种方法可以将枚举类型存储在数据库中:作为字符串或作为整数。

将枚举( sex = {male,female}account_type = {regular,pro,admin} 等)保存为字符串使事情更具可读性,但需要比整数更多的空间。

另一方面,整数需要映射进出数据库的枚举。作为一个好处,区分大小写是在数据库之外用整数处理的。

假设两者都被索引,那么进行整数转换通常值得吗?使用整数查找的速度有多快?

示例

也许一个具体的例子可以帮助形象化事物。
让我们将上述 account_type 与 100,000 个用户的数据库结合起来。

字符串枚举

假设8位定长CHAR类型

7*100000*8/8 = 700000 bytes

整数枚举

假设 8 位 TINYINT 整数
100000*8/8 = 400000 bytes

似乎大小几乎是整数枚举的一半。还需要考虑索引。

最佳答案

答案是,正如您所期望的,这取决于。

数据库越大,节省的空间就越显着——不仅在磁盘上,而且在网络 IO 和计算上。

就个人而言,我会存储整数而不是文本值,除非有直接的数据库支持枚举(如 MySQL)。

关于sql - 将数据库字符串枚举转换为整数值得吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6732039/

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