数据库 table 中的枚举与静态 class
Enum vs Static class in database table
我必须存储在数据库中
[Column 1], [Column 2-start datetime]
Version1_1, 01-01-2011
Version1_2, 01-01-2011
Version1_3, 01-01-2011
…
我有一个包含两个字段的 class:版本名称和日期时间 (+id)。
版本名称代表第一列。它可以是 enum 或带有常量的 static class。
关于我理解的几乎所有场景,枚举更好。但是随后,数据库将在第一列中存储整数而不是字符串值。这让我有一种不确定的感觉。
在这种情况下,枚举仍然是最佳选择吗?我没有看到数据库 [Column 1] 中缺少干净字符串值的缺点。
如果将值作为整数存储在数据库中,则有几个优点:
- 需要更少的存储空间space
- 不考虑字符串比较更容易查询
- 更好的查询性能,因为整数比较比字符串比较快得多
数据库方面的缺点当然是可读性降低,但考虑到优点,我更喜欢数据库中的整数。
在 C# 方面,枚举让您拥有两全其美:内部整数和同时使用值时的文本标识符。
我必须存储在数据库中
[Column 1], [Column 2-start datetime]
Version1_1, 01-01-2011
Version1_2, 01-01-2011
Version1_3, 01-01-2011
… 我有一个包含两个字段的 class:版本名称和日期时间 (+id)。 版本名称代表第一列。它可以是 enum 或带有常量的 static class。
关于我理解的几乎所有场景,枚举更好。但是随后,数据库将在第一列中存储整数而不是字符串值。这让我有一种不确定的感觉。
在这种情况下,枚举仍然是最佳选择吗?我没有看到数据库 [Column 1] 中缺少干净字符串值的缺点。
如果将值作为整数存储在数据库中,则有几个优点:
- 需要更少的存储空间space
- 不考虑字符串比较更容易查询
- 更好的查询性能,因为整数比较比字符串比较快得多
数据库方面的缺点当然是可读性降低,但考虑到优点,我更喜欢数据库中的整数。
在 C# 方面,枚举让您拥有两全其美:内部整数和同时使用值时的文本标识符。