我在netezza的表看起来像这样:
b,2
b,1
a,2
a,1
a,3
c,1
c,2
我想用第一个coloumn对它重新排序,所以看起来像这样:
a,2
a,1
a,3
b,2
b,1
c,1
c,2
如何重新排序表而不创建新表?
答案 0 :(得分:1)
如果要为特定列优化区域映射而不使用ORDER BY重新创建表,请将表更改为具有ORGANIZE ON(COL_NAME)子句。这不会立即导致磁盘上表的任何更改,但会为GROOM设置集群数据的阶段。
之后,运行GROOM TABLE TABLE_NAME RECORDS ALL。这将聚集该列上的数据。
随后运行GROOM TABLE TABLE_NAME RECORDS READY以对新添加的行进行聚类。
我还应该补充一点,默认情况下只有区域映射会跟踪INTEGER,DATE和TIMESTAMP,但是使用ORGANIZE将导致跟踪字符列的区域映射。
答案 1 :(得分:-2)