【问题标题】:Split table in Netezza using count of rows使用行数在 Netezza 中拆分表
【发布时间】:2019-07-11 04:02:35
【问题描述】:

我在 Netezza 中有一个 100,000 行乘 17 列的表。

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

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

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

【问题讨论】:

    标签: sql netezza


    【解决方案1】:

    这种“分裂”的目的是什么?

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

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

    2) select * from TABLE where datasliceid in (select dslice from _v_dual_dslice where dslice %17 = 0) — 将数字 0 替换为所有其他数字 1,2,3,4..16

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多