因此,我与同事关于使用枚举与查找表存在分歧。
这篇 2011 年和 MySQL5.5 的非常老的文章仍然被那些不喜欢枚举的人一次又一次地引用。
但我们使用的是 MySQL8.0,数据库规模不是很大,比如 50 到 60 个表,有 30 左右的枚举列。
一些表的行数高达数百万行,大多数表的行数远低于 50 万行。
几乎所有枚举的值都少于 10 个,并且只有极少数在其生命周期中发生过更改(一次),总是在可能值的末尾添加新值。
而且我们从未“遭受”文章提到的任何缺点,例如将元数据存储在其旁边,引用其他表中的相同值等......
尽管文章在第 2 点中提到了这一点,但今天,在列表末尾添加值不会更新整个表,但删除值总是会更新(或至少读取)所有行。
我确实知道有两种流派,并且我了解两者的优点和缺点。
但是,今天在 MySQL8 上,是否存在任何实际/事实/技术原因,因此 ** 放弃现有列的枚举并证明应用程序和数据库中所需的所有工作都是合理的?
感谢您的阅读和回答。