使用行数在 Netezza 中拆分 table

Split table in Netezza using count of rows

我在 Netezza 中有一个 table,它有 100,000 行 x 17 列。

我希望创建 10 个单独的视图,每个视图将原始 table 切成 10000 x 17 块。

我已阅读有关 row_number 函数的信息,但我不想使用特定列对原始 table 进行分区。

如何在 Netezza 中创建这样的视图?

这次“拆分”的目的是什么?

我想您希望 17 个块的大小大致相同,因此根据您的目的,我建议使用所有 Netezza 表中存在的不同“内置”列的这两种方法:

1) select * from TABLE where hash(rowid) % 17 = 0 —- 用所有其他数字 1,2,3,4..16

2) select * from TABLE where datasliceid in (select dslice from _v_dual_dslice where dslice %17 = 0) ---- 用所有替换数字零其他号码 1,2,3,4..16

第二个选项(如果我没记错列名的话)可能优于第一个,但第一个可能会提供更均匀的“桶大小”