Riya Asked: 2023-04-04 16:03:12 +0800 CST2023-04-04 16:03:12 +0800 CST 2023-04-04 16:03:12 +0800 CST PostgreSQL 枚举类型。优点和缺点 772 PostgreSQL 有一个Enum 数据类型。使用枚举的优点和缺点是什么?我发现了MySQL 的优势,但不知道哪些适用于 PostgreSQL 以及扩展到什么: 可读的查询和输出。 postgresql 1 个回答 Voted Best Answer Laurenz Albe 2023-04-04T22:25:39+08:002023-04-04T22:25:39+08:00 枚举类型的优点: 无需查阅查找表即可理解表中的值。(这无关紧要,因为您通常不会以交互方式使用数据库。如果您这样做,请考虑改用电子表格。) 不需要必须加入的额外查找表。(这也不是很相关,因为这些连接很便宜。) 可能更好的查询估计 ... FROM tab WHERE tab.e = 'somevalue' 相比于 ... FROM tab JOIN look USING (look_id) WHERE look.v = 'somevalue' 如果需要,枚举具有明确定义的排序顺序。(但您也可以定义一个列来确定查找表的排序顺序。) 缺点: 您不能删除枚举值,因此不要将枚举用于任何值可能消失的地方。 我认为枚举不在 SQL 标准中,因此它们使移植到其他数据库变得更加困难。
枚举类型的优点:
无需查阅查找表即可理解表中的值。(这无关紧要,因为您通常不会以交互方式使用数据库。如果您这样做,请考虑改用电子表格。)
不需要必须加入的额外查找表。(这也不是很相关,因为这些连接很便宜。)
可能更好的查询估计
相比于
如果需要,枚举具有明确定义的排序顺序。(但您也可以定义一个列来确定查找表的排序顺序。)
缺点:
您不能删除枚举值,因此不要将枚举用于任何值可能消失的地方。
我认为枚举不在 SQL 标准中,因此它们使移植到其他数据库变得更加困难。