我应该使用什么数据类型:ENUM、TINYINT 或 CHAR?

Nor*_*DBA 4 mysql datatypes

我正在创建一个新表,我想做得正确。该表将是成员及其相关专业类型和十分位数的列表。

专业类型是 3 个字符的字符串。该字段仅允许 8 个字符串。我应该使用 ENUM 或 CHAR(3) 还是更好的东西?

十分位数可以是 1-10 之间的任何数字,但仅限于这些数字。我应该使用 ENUM 还是无符号 TINYINT 或者更好的东西?

哪些是提高效率的最佳选择?

Rol*_*DBA 5

由于有关添加/删除类型值的任何问题,枚举让我感到害怕。您最好将ProfessionalType和都表示DecileTINYINTCHAR(3)。除了 ENUM 之外的任何东西。

请参阅我过去的帖子ENUM

为了提高效率,鉴于基数如此低 (8,10),请不要单独索引该字段。