标签: sql postgresql
为什么要使用一种方法而不是另一种方法来获取多个列值并将它们移动到带有标签分类器和值列的行中?
答案 0 :(得分:1)
UNPIVOT更好,因为它只扫描行一次。 UNION ALL将为每个子查询扫描一次行。从理论上讲,这不一定会发生,但我不知道只能进行一次扫描的优化器。
UNPIVOT
UNION ALL
这对于大型表或者“表”实际上是一个复杂的SQL表达式或视图尤为重要。