enable_indexonlyscan

一个控制仅索引扫描使用的 GUC

enable_indexonlyscan 是一个 配置参数,用于确定优化器是否应使用仅索引扫描。

enable_indexonlyscanPostgreSQL 9.2 中添加。

默认

enable_indexonlyscan 的默认值为:on。

用法

请注意,如果 enable_indexscan 被禁用,enable_indexonlyscan 也将被禁用。

按 PostgreSQL 版本详细信息

enable_indexonlyscan (PostgreSQL 19)

设置 开启
单位  
类别 查询调优 / 规划器方法配置
简短描述 启用优化器使用仅索引扫描计划。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档enable_indexonlyscan

enable_indexonlyscan (PostgreSQL 18)

设置 开启
单位  
类别 查询调优 / 规划器方法配置
简短描述 启用优化器使用仅索引扫描计划。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档enable_indexonlyscan

enable_indexonlyscan (PostgreSQL 17)

设置 开启
单位  
类别 查询调优 / 规划器方法配置
简短描述 启用优化器使用仅索引扫描计划。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档enable_indexonlyscan

enable_indexonlyscan (PostgreSQL 16)

设置 开启
单位  
类别 查询调优 / 规划器方法配置
简短描述 启用优化器使用仅索引扫描计划。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档enable_indexonlyscan

enable_indexonlyscan (PostgreSQL 15)

设置 开启
单位  
类别 查询调优 / 规划器方法配置
简短描述 启用优化器使用仅索引扫描计划。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档enable_indexonlyscan

enable_indexonlyscan (PostgreSQL 14)

设置 开启
单位  
类别 查询调优 / 规划器方法配置
简短描述 启用优化器使用仅索引扫描计划。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档enable_indexonlyscan

enable_indexonlyscan (PostgreSQL 13)

设置 开启
单位  
类别 查询调优 / 规划器方法配置
简短描述 启用优化器使用仅索引扫描计划。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档enable_indexonlyscan

enable_indexonlyscan (PostgreSQL 12)

设置 开启
单位  
类别 查询调优 / 规划器方法配置
简短描述 启用优化器使用仅索引扫描计划。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档enable_indexonlyscan

enable_indexonlyscan (PostgreSQL 11)

设置 开启
单位  
类别 查询调优 / 规划器方法配置
简短描述 启用优化器使用仅索引扫描计划。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档enable_indexonlyscan

enable_indexonlyscan (PostgreSQL 10)

设置 开启
单位  
类别 查询调优 / 规划器方法配置
简短描述 启用优化器使用仅索引扫描计划。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档enable_indexonlyscan

enable_indexonlyscan (PostgreSQL 9.6)

设置 开启
单位  
类别 查询调优 / 规划器方法配置
简短描述 启用优化器使用仅索引扫描计划。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档enable_indexonlyscan

enable_indexonlyscan (PostgreSQL 9.5)

设置 开启
单位  
类别 查询调优 / 规划器方法配置
简短描述 启用优化器使用仅索引扫描计划。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  
需要重启 false

文档enable_indexonlyscan

enable_indexonlyscan (PostgreSQL 9.4)

设置 开启
单位  
类别 查询调优 / 规划器方法配置
简短描述 启用优化器使用仅索引扫描计划。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  

文档enable_indexonlyscan

enable_indexonlyscan (PostgreSQL 9.3)

设置 开启
单位  
类别 查询调优 / 规划器方法配置
简短描述 启用优化器使用仅索引扫描计划。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  

文档enable_indexonlyscan

enable_indexonlyscan (PostgreSQL 9.2)

设置 开启
单位  
类别 查询调优 / 规划器方法配置
简短描述 启用优化器使用仅索引扫描计划。
扩展描述  
上下文 user
变量类型 bool
来源 默认
最小值  
最大值  
枚举值  
启动值 开启
重置值 开启
源文件  
源行  

文档enable_indexonlyscan

变更历史

示例

enable_indexonlyscan 的基本用法示例

postgres=# CREATE TABLE foo (id INT NOT NULL PRIMARY KEY);
CREATE TABLE

postgres=# INSERT INTO foo VALUES(generate_series(1,10000));
INSERT 0 10000

postgres=# ANALYZE foo;
ANALYZE

postgres=# EXPLAIN SELECT * FROM foo WHERE id BETWEEN 99 AND 3024;
                                  QUERY PLAN                                  
------------------------------------------------------------------------------
 Index Only Scan using foo_pkey on foo  (cost=0.29..111.81 rows=2926 width=4)
   Index Cond: ((id >= 99) AND (id <= 3024))
(2 rows)

enable_indexonlyscan 设置为 off

postgres=# SET enable_indexonlyscan to off;
SET
postgres=# EXPLAIN SELECT * FROM foo WHERE id BETWEEN 99 AND 3024;
                               QUERY PLAN                                
-------------------------------------------------------------------------
 Index Scan using foo_pkey on foo  (cost=0.29..111.81 rows=2926 width=4)
   Index Cond: ((id >= 99) AND (id <= 3024))
(2 rows)

此处优化器已回退到索引扫描。有关当索引扫描也禁用时的相同查询的示例输出,请参见 enable_indexscan

分类

GUC 配置项, 索引, 优化器

另请参阅

enable_indexscan

反馈

请在此处提交关于“enable_indexonlyscan”的任何评论、建议或更正。 here