千家信息网

怎么使用PostgreSQL 12的settings选项

发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,本篇内容主要讲解"怎么使用PostgreSQL 12的settings选项",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么使用PostgreSQL 12
千家信息网最后更新 2025年01月20日怎么使用PostgreSQL 12的settings选项

本篇内容主要讲解"怎么使用PostgreSQL 12的settings选项",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"怎么使用PostgreSQL 12的settings选项"吧!

PostgreSQL 12为explain命令提供了settings选项,可查看影响执行计划的设置修改.

测试数据:

testdb=# drop table if exists t_settings;NOTICE:  table "t_settings" does not exist, skippingDROP TABLEtestdb=# create table t_settings(id int,c1 varchar(20));CREATE TABLEtestdb=# testdb=# insert into t_settings select x,'c1'||x from generate_series(1,100000) as x;INSERT 0 100000testdb=# create index idx_t_settings_id on t_settings(id);CREATE INDEX

PG 11

testdb=# explain (settings on) select * from t_settings where id = 1;ERROR:  unrecognized EXPLAIN option "settings"LINE 1: explain (settings on) select * from t_settings where id = 1;                 ^

PG 11不支持该特性.

PG 12
PG 12新增了该特性

[local]:5432 pg12@testdb=# explain (settings on) select * from t_settings where id = 1;                                    QUERY PLAN                                     ----------------------------------------------------------------------------------- Bitmap Heap Scan on t_settings  (cost=12.17..570.66 rows=500 width=62)   Recheck Cond: (id = 1)   ->  Bitmap Index Scan on idx_t_settings_id  (cost=0.00..12.04 rows=500 width=0)         Index Cond: (id = 1)(4 rows)Time: 5.403 ms

修改参数,查看执行计划

[local]:5432 pg12@testdb=# set enable_indexscan=off;SETTime: 0.555 ms[local]:5432 pg12@testdb=# explain (settings on) select * from t_settings where id = 1;                                   QUERY PLAN                                   -------------------------------------------------------------------------------- Bitmap Heap Scan on t_settings  (cost=4.30..8.31 rows=1 width=11)   Recheck Cond: (id = 1)   ->  Bitmap Index Scan on idx_t_settings_id  (cost=0.00..4.30 rows=1 width=0)         Index Cond: (id = 1) Settings: enable_indexscan = 'off'(5 rows)Time: 0.759 ms

注意执行计划中的" Settings: enable_indexscan = 'off' ",把影响执行计划的参数修改打印出来,这是一个pretty cool特性,增强了易用性.

到此,相信大家对"怎么使用PostgreSQL 12的settings选项"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

0