行数较少但尺寸较大?

时间:2018-04-20 05:52:38

标签: sql amazon-redshift

我在红移中有两个不同的表,假设 A B 。这两个表都有3列,具有相同的数据类型。

虽然 B 的行数是 A 的3倍,但 A 的大小比 B < / strong>即可。这怎么可能?

A上的行数:6,789,634,116

B上的行数:18,191,553,916

A的大小:491604 mbytes

B的大小:423745兆字节

[编辑]

表创建查询是这样的:

CREATE TABLE A
(
   uid          varchar(128)   NOT NULL,
   client_id_1  integer        NOT NULL,
   client_id_2  integer        NOT NULL
);

与表B没有区别。

1 个答案:

答案 0 :(得分:1)

在Amazon Redshift中,

  

UPDATE = DELETE + INSERT。

因此,当你这样做时,你看不到那些DELETED记录,从A中选择SELECT count(*)。 但是DELETED记录占据了硬盘驱动器的空间,因此表A中的尺寸更多。

在桌子A上做真空。你应该看到更小的尺寸。

Vacuum A;

有关详细信息,请参阅Amazon Redshift文档。