単純なパーティションテーブルの場合:
-- note: no records stored in base, only inheritors of base
create table base(
base_id bigint,
base_tp char(3) not null,
... );
create table base_abc(
base_id bigserial primary key,
base_tp default 'abc'
check( base_tp = 'abc' ),
...
) inherits( base );
create table base_efg(
base_id bigserial primary key,
base_tp default 'efg'
check( base_tp = 'efg' ),
...
) inherits( base );
クエリのwhere句を使用する場合base_tp
、たとえば、
select * from base where ... and base_tp='abc'
9.2では、クエリはテーブルのみを選択するように最適化されますbase_abc
か、それとも現在のようにbase
、、、base_abc
およびbase_efg
?