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

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

测试数据:

testdb=#droptableifexistst_settings;NOTICE:table"t_settings"doesnotexist,skippingDROPTABLEtestdb=#createtablet_settings(idint,c1varchar(20));CREATETABLEtestdb=#testdb=#insertintot_settingsselectx,'c1'||xfromgenerate_series(1,100000)asx;INSERT0100000testdb=#createindexidx_t_settings_idont_settings(id);CREATEINDEX

PG 11

testdb=#explain(settingson)select*fromt_settingswhereid=1;ERROR:unrecognizedEXPLAINoption"settings"LINE1:explain(settingson)select*fromt_settingswhereid=1;^

PG 11不支持该特性.

PG 12
PG 12新增了该特性

[local]:5432pg12@testdb=#explain(settingson)select*fromt_settingswhereid=1;QUERYPLAN-----------------------------------------------------------------------------------BitmapHeapScanont_settings(cost=12.17..570.66rows=500width=62)RecheckCond:(id=1)->BitmapIndexScanonidx_t_settings_id(cost=0.00..12.04rows=500width=0)IndexCond:(id=1)(4rows)Time:5.403ms

修改参数,查看执行计划

[local]:5432pg12@testdb=#setenable_indexscan=off;SETTime:0.555ms[local]:5432pg12@testdb=#explain(settingson)select*fromt_settingswhereid=1;QUERYPLAN--------------------------------------------------------------------------------BitmapHeapScanont_settings(cost=4.30..8.31rows=1width=11)RecheckCond:(id=1)->BitmapIndexScanonidx_t_settings_id(cost=0.00..4.30rows=1width=0)IndexCond:(id=1)Settings:enable_indexscan='off'(5rows)Time:0.759ms

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

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