查看分配方式
要查看表的分配方式,请查询 PG_CLASS_INFO 视图或 SVV_TABLE_INFO 视图。
PG_CLASS_INFO 中的 RELEFFECTIVEDISTSTYLE 列指示表的当前分配方式。如果表使用自动分配,则 RELEFFECTIVEDISTSTYLE 为 10、11 或 12,这指示有效分配方式是 AUTO (ALL)、AUTO (EVEN) 或 AUTO (KEY)。如果表使用自动分配,则分配方式最初可能显示 AUTO (ALL),然后在表增大时更改为 AUTO (EVEN) 或 AUTO (KEY)。
下表的 RELEFFECTIVEDISTSTYLE 列中提供了每个值的分配方式:
RELEFFECTIVEDISTSTYLE | 当前分配方式 |
---|---|
0 | EVEN |
1 | KEY |
8 | ALL |
10 | AUTO (ALL) |
11 | AUTO (EVEN) |
12 | AUTO (KEY) |
SVV_TABLE_INFO 中的 DISTSTYLE 列指示表的当前分配方式。如果表使用自动分配,则 DISTSTYLE 为 AUTO (ALL)、AUTO (EVEN) 或 AUTO (KEY)。
下面的示例使用三种分配方式和自动分配创建了四个表,然后查询 SVV_TABLE_INFO 以查看这些分配方式。
create table public.dist_key (col1 int) diststyle key distkey (col1); insert into public.dist_key values (1); create table public.dist_even (col1 int) diststyle even; insert into public.dist_even values (1); create table public.dist_all (col1 int) diststyle all; insert into public.dist_all values (1); create table public.dist_auto (col1 int); insert into public.dist_auto values (1); select "schema", "table", diststyle from SVV_TABLE_INFO where "table" like 'dist%'; schema | table | diststyle ------------+-----------------+------------ public | dist_key | KEY(col1) public | dist_even | EVEN public | dist_all | ALL public | dist_auto | AUTO(ALL)