Netezza以编程方式查找表的分发键

Ric*_*nop 4 netezza

是否可以以编程方式找到Netezza表正在使用哪种分配算法?

我可以通过导出表DDL在Workbench中手动进行操作,但是我希望能够通过运行某种元数据SQL查询以编程方式进行操作。

我查看了大多数系统表,但是在任何地方都找不到此信息。

有任何想法吗?

Ric*_*nop 5

对此可能有解决方案。

运行此查询:

select * from _v_table_dist_map where database='database' and tablename='tablename';
Run Code Online (Sandbox Code Playgroud)

如果它不返回任何行,则可以假定正在使用随机分布(DISTRIBUTE ON RANDOM)。

如果返回1行或更多行,则使用基于列的分发(DISTRIBUTE ON(col1,...,coln))。