首页 > 解决方案 > 对于某些列 n_distinct 具有负值

问题描述

查看pg_stats,对于某些列,该n_distinct值为-1。这是什么意思?我在文档或其他任何地方都找不到答案。

标签: postgresql

解决方案


-1 表示唯一列,其中不同值的数量与行数相同。

n_distinct float4

如果大于零,则估计列中不同值的数量。如果小于零,则为不同值数的负数除以行数。(当 ANALYZE 认为不同值的数量可能会随着表的增长而增加时使用否定形式;当列似乎具有固定数量的可能值时使用正形式。)例如,-1 表示唯一列,其中不同值的数量与行数相同。

https://www.postgresql.org/docs/current/view-pg-stats.html


推荐阅读