使用行数在Netezza中拆分表

时间:2019-07-08 22:49:08

标签: sql netezza

我在Netezza中有一个表,该表是100,000行x 17列。

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

我已经了解了row_number函数,但是我不想使用特定的列对原始表进行分区。

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

1 个答案:

答案 0 :(得分:1)

此“拆分”的目的是什么?

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

1)从TABLE中选择*,其中hash(rowid)%17 = 0 ---用所有其他数字1,2,3,4..16替换数字0。

2)从表中选择*,在其中datasliceid进入(从_v_dual_dslice中选择dslice,其中dslice%17 = 0)—用所有其他数字1,2,3,4..16替换数字零。

第二个选项(如果我没记错的话,可能会比第一个更好),但是第一个选项可能会提供更均匀的“存储桶大小”