default_statistics_target
是一个 配置参数,用于确定没有显式统计目标的表列的默认统计目标。
default_statistics_target
在 PostgreSQL 7.3 中添加。
默认值
default_statistics_target
的默认值为:100
。
用法
default_statistics_target
确定包含在 pg_statistic
的 stanumbers1
~ stanumbers5
和 stavalues1
~ stavalues5
列中的值的数量。
请注意,实际存储的值的数量可能与为 default_statistics_target
设置的值不完全匹配。
按 PostgreSQL 版本分列的详细信息
default_statistics_target (PostgreSQL 17)
设置 | 100 |
单位 | |
类别 | 查询优化/其他规划程序选项 |
简短描述 | 设置默认统计目标。 |
额外描述 | 这适用于尚未通过 ALTER TABLE SET STATISTICS 设置列特定目标的表列。 |
上下文 | 用户 |
变量类型 | 整数 |
来源 | 默认 |
最小值 | 1 |
最大值 | 10000 |
枚举值 | |
启动值 | 100 |
重置值 | 100 |
源文件 | |
源代码行 | |
待重启 | 否 |
default_statistics_target (PostgreSQL 16)
设置 | 100 |
单位 | |
类别 | 查询优化/其他规划程序选项 |
简短描述 | 设置默认统计目标。 |
额外描述 | 这适用于尚未通过 ALTER TABLE SET STATISTICS 设置列特定目标的表列。 |
上下文 | 用户 |
变量类型 | 整数 |
来源 | 默认 |
最小值 | 1 |
最大值 | 10000 |
枚举值 | |
启动值 | 100 |
重置值 | 100 |
源文件 | |
源代码行 | |
待重启 | 否 |
default_statistics_target (PostgreSQL 15)
设置 | 100 |
单位 | |
类别 | 查询优化/其他规划程序选项 |
简短描述 | 设置默认统计目标。 |
额外描述 | 这适用于尚未通过 ALTER TABLE SET STATISTICS 设置列特定目标的表列。 |
上下文 | 用户 |
变量类型 | 整数 |
来源 | 默认 |
最小值 | 1 |
最大值 | 10000 |
枚举值 | |
启动值 | 100 |
重置值 | 100 |
源文件 | |
源代码行 | |
待重启 | 否 |
default_statistics_target (PostgreSQL 14)
设置 | 100 |
单位 | |
类别 | 查询优化/其他规划程序选项 |
简短描述 | 设置默认统计目标。 |
额外描述 | 这适用于尚未通过 ALTER TABLE SET STATISTICS 设置列特定目标的表列。 |
上下文 | 用户 |
变量类型 | 整数 |
来源 | 默认 |
最小值 | 1 |
最大值 | 10000 |
枚举值 | |
启动值 | 100 |
重置值 | 100 |
源文件 | |
源代码行 | |
待重启 | 否 |
default_statistics_target (PostgreSQL 13)
设置 | 100 |
单位 | |
类别 | 查询优化/其他规划程序选项 |
简短描述 | 设置默认统计目标。 |
额外描述 | 这适用于尚未通过 ALTER TABLE SET STATISTICS 设置列特定目标的表列。 |
上下文 | 用户 |
变量类型 | 整数 |
来源 | 默认 |
最小值 | 1 |
最大值 | 10000 |
枚举值 | |
启动值 | 100 |
重置值 | 100 |
源文件 | |
源代码行 | |
待重启 | 否 |
default_statistics_target (PostgreSQL 12)
设置 | 100 |
单位 | |
类别 | 查询优化/其他规划程序选项 |
简短描述 | 设置默认统计目标。 |
额外描述 | 这适用于尚未通过 ALTER TABLE SET STATISTICS 设置列特定目标的表列。 |
上下文 | 用户 |
变量类型 | 整数 |
来源 | 默认 |
最小值 | 1 |
最大值 | 10000 |
枚举值 | |
启动值 | 100 |
重置值 | 100 |
源文件 | |
源代码行 | |
待重启 | 否 |
default_statistics_target (PostgreSQL 11)
设置 | 100 |
单位 | |
类别 | 查询优化/其他规划程序选项 |
简短描述 | 设置默认统计目标。 |
额外描述 | 这适用于尚未通过 ALTER TABLE SET STATISTICS 设置列特定目标的表列。 |
上下文 | 用户 |
变量类型 | 整数 |
来源 | 默认 |
最小值 | 1 |
最大值 | 10000 |
枚举值 | |
启动值 | 100 |
重置值 | 100 |
源文件 | |
源代码行 | |
待重启 | 否 |
default_statistics_target (PostgreSQL 10)
设置 | 100 |
单位 | |
类别 | 查询优化/其他规划程序选项 |
简短描述 | 设置默认统计目标。 |
额外描述 | 这适用于尚未通过 ALTER TABLE SET STATISTICS 设置列特定目标的表列。 |
上下文 | 用户 |
变量类型 | 整数 |
来源 | 默认 |
最小值 | 1 |
最大值 | 10000 |
枚举值 | |
启动值 | 100 |
重置值 | 100 |
源文件 | |
源代码行 | |
待重启 | 否 |
default_statistics_target (PostgreSQL 9.6)
设置 | 100 |
单位 | |
类别 | 查询优化/其他规划程序选项 |
简短描述 | 设置默认统计目标。 |
额外描述 | 这适用于尚未通过 ALTER TABLE SET STATISTICS 设置列特定目标的表列。 |
上下文 | 用户 |
变量类型 | 整数 |
来源 | 默认 |
最小值 | 1 |
最大值 | 10000 |
枚举值 | |
启动值 | 100 |
重置值 | 100 |
源文件 | |
源代码行 | |
待重启 | 否 |
default_statistics_target (PostgreSQL 9.5)
设置 | 100 |
单位 | |
类别 | 查询优化/其他规划程序选项 |
简短描述 | 设置默认统计目标。 |
额外描述 | 这适用于尚未通过 ALTER TABLE SET STATISTICS 设置列特定目标的表列。 |
上下文 | 用户 |
变量类型 | 整数 |
来源 | 默认 |
最小值 | 1 |
最大值 | 10000 |
枚举值 | |
启动值 | 100 |
重置值 | 100 |
源文件 | |
源代码行 | |
待重启 | 否 |
default_statistics_target (PostgreSQL 9.4)
设置 | 100 |
单位 | |
类别 | 查询优化/其他规划程序选项 |
简短描述 | 设置默认统计目标。 |
额外描述 | 这适用于尚未通过 ALTER TABLE SET STATISTICS 设置列特定目标的表列。 |
上下文 | 用户 |
变量类型 | 整数 |
来源 | 默认 |
最小值 | 1 |
最大值 | 10000 |
枚举值 | |
启动值 | 100 |
重置值 | 100 |
源文件 | |
源代码行 |
default_statistics_target (PostgreSQL 9.3)
设置 | 100 |
单位 | |
类别 | 查询优化/其他规划程序选项 |
简短描述 | 设置默认统计目标。 |
额外描述 | 这适用于尚未通过 ALTER TABLE SET STATISTICS 设置列特定目标的表列。 |
上下文 | 用户 |
变量类型 | 整数 |
来源 | 默认 |
最小值 | 1 |
最大值 | 10000 |
枚举值 | |
启动值 | 100 |
重置值 | 100 |
源文件 | |
源代码行 |
default_statistics_target (PostgreSQL 9.2)
设置 | 100 |
单位 | |
类别 | 查询优化/其他规划程序选项 |
简短描述 | 设置默认统计目标。 |
额外描述 | 这适用于尚未通过 ALTER TABLE SET STATISTICS 设置列特定目标的表列。 |
上下文 | 用户 |
变量类型 | 整数 |
来源 | 默认 |
最小值 | 1 |
最大值 | 10000 |
枚举值 | |
启动值 | 100 |
重置值 | 100 |
源文件 | |
源代码行 |
default_statistics_target (PostgreSQL 9.1)
设置 | 100 |
单位 | |
类别 | 查询优化/其他规划程序选项 |
简短描述 | 设置默认统计目标。 |
额外描述 | 这适用于尚未通过 ALTER TABLE SET STATISTICS 设置列特定目标的表列。 |
上下文 | 用户 |
变量类型 | 整数 |
来源 | 默认 |
最小值 | 1 |
最大值 | 10000 |
枚举值 | |
启动值 | 100 |
重置值 | 100 |
源文件 | |
源代码行 |
default_statistics_target (PostgreSQL 9.0)
设置 | 100 |
单位 | |
类别 | 查询优化/其他规划程序选项 |
简短描述 | 设置默认统计目标。 |
额外描述 | 这适用于尚未通过 ALTER TABLE SET STATISTICS 设置列特定目标的表列。 |
上下文 | 用户 |
变量类型 | 整数 |
来源 | 默认 |
最小值 | 1 |
最大值 | 10000 |
枚举值 | |
启动值 | 100 |
重置值 | 100 |
源文件 | |
源代码行 |
default_statistics_target (PostgreSQL 8.4)
设置 | 100 |
单位 | |
类别 | 查询优化/其他规划程序选项 |
简短描述 | 设置默认统计目标。 |
额外描述 | 这适用于尚未通过 ALTER TABLE SET STATISTICS 设置列特定目标的表列。 |
上下文 | 用户 |
变量类型 | 整数 |
来源 | 默认 |
最小值 | 1 |
最大值 | 10000 |
枚举值 | |
启动值 | 100 |
重置值 | 100 |
源文件 | |
源代码行 |
default_statistics_target (PostgreSQL 8.3)
设置 | |
单位 | |
类别 | 查询优化/其他规划程序选项 |
简短描述 | 设置默认统计目标。 |
额外描述 | 这适用于尚未通过 ALTER TABLE SET STATISTICS 设置列特定目标的表列。 |
上下文 | 用户 |
变量类型 | 整数 |
来源 | 默认 |
最小值 | 1 |
最大值 | 1000 |
default_statistics_target (PostgreSQL 8.2)
设置 | |
单位 | |
类别 | 查询优化/其他规划程序选项 |
简短描述 | 设置默认统计目标。 |
额外描述 | 这适用于尚未通过 ALTER TABLE SET STATISTICS 设置列特定目标的表列。 |
上下文 | 用户 |
变量类型 | 整数 |
来源 | 默认 |
最小值 | 1 |
最大值 | 1000 |
更改历史记录
- PostgreSQL 8.4
- 默认值从
10
增加到100
;最大值从1000
增加到10000
(提交 65e3ea76)
- 默认值从
- PostgreSQL 7.3
- 添加(提交 ce7565ab)
示例
default_statistics_target
的基本用法示例
postgres=# CREATE TABLE foo (id INT); CREATE TABLE postgres=# INSERT INTO foo VALUES(generate_series(1,101)); INSERT 0 101 postgres=# SHOW default_statistics_target; default_statistics_target --------------------------- 100 (1 row) postgres=# ANALYZE foo; ANALYZE postgres=# SELECT stavalues1 FROM pg_statistic WHERE starelid = 'foo'::regclass\gx -[ RECORD 1 ]--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- stavalues1 | {1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101} postgres=# SET default_statistics_target TO 10; SET postgres=# ANALYZE foo; ANALYZE
postgres=# SELECT stavalues1 FROM pg_statistic WHERE starelid = 'foo'::regclass\gx -[ RECORD 1 ]---------------------------------- stavalues1 | {1,11,21,31,41,51,61,71,81,91,101}
参考文献
- PostgreSQL 文档: default_statistics_target