我有一个包含大量冗余数据的表。
我想将某些VARCHAR值更改为某种“ AUTO_LOOKUP”数据类型,该数据类型会自动维护并解析查找表中的值。
MySQL使用ENUM数据类型部分地做到这一点,但是它需要提前定义所有已知值。我希望值列表能够动态增长。
这存在吗?
相关问题:
类似的概念,在Derby中使用自定义数据类型:User-defined types in Apache Derby as ENUM replacements
类似的概念,但是在客户端应用程序中处理100%(我希望它在数据库中处理):Ways to save enums in database
答案 0 :(得分:0)
是的,它被称为外键,几乎所有关系数据库都支持它。
您可以在查找表中定义一组varchar,每个值一行。与该字符串相关联的是一个更紧凑的主键,通常是一个自动递增的整数。
然后在大表中,只需按整数引用查找表中的条目即可。