我在Netezza中有一个表,该表是100,000行x 17列。
我希望创建10个单独的视图,其中每个视图将原始表切成10000 x 17块。
我已经了解了row_number函数,但是我不想使用特定的列对原始表进行分区。
如何在Netezza中创建这样的视图?
答案 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替换数字零。
第二个选项(如果我没记错的话,可能会比第一个更好),但是第一个选项可能会提供更均匀的“存储桶大小”