我已经搜索过,但是找不到任何简单,直接的答案。如何检查ANALYZE当前使用的统计目标?
统计目标的设置存储在目录表中的每一列中pg_attribute。您可以这样设置:
pg_attribute
ALTER TABLE myschama.mytable ALTER mycolumn SET STATISTICS 127;
并像这样检查它:
SELECT attstattarget FROM pg_attribute WHERE attrelid = 'myschama.mytable'::regclass AND attname = 'mycolumn';
或者,您只需在pgAdmin的对象浏览器中查看创建脚本,如果该值与中的默认值不同,则会在该脚本中附加创建脚本default_statistics_target。
default_statistics_target
我引用以下手册attstattarget:
attstattarget
attstattarget控制由累积的该列统计信息的详细程度ANALYZE。零值表示不应收集统计信息。 负值表示使用系统默认统计信息目标。 正值的确切含义取决于数据类型。对于标量数据类型,attstattarget既是要收集的“最常见值”的目标数,也是要创建的直方图bin的目标数。
ANALYZE
大胆强调我的。