我开始在 Aginity 上与 Netezza 合作,以处理每张表的数百万条记录。我一直在网上阅读有关如何优化表的信息,以便加载数据并在其上运行查询相对较快,我有几个问题。
1)我读到的一件事是,您在创建表时选择的分布会影响您查询表的速度。在大多数情况下,最好在主键上分发吗?假设没有主键,但表中有外键,是分布在两个外键上还是一个外键上好?
2)我通过运行以下查询了解了您可以查看表格偏斜的方式(我猜这很大程度上取决于您的分布):
SELECT count(*), datasliceid from SCHEMA.TableName group by datascliceid ordery by datasliceid
因此,在执行此操作时,我注意到每个 datasliceid 的最小数据数为 21,530,最大值为 22,456。返回了 240 个 datasliceid。这是好的还是应该更均匀地分布数据?
3)最后但并非最不重要的一点是,我正在尝试运行:
generate statistics on SCHEMA.TABLENAME
在 Aginity 内部,但当我这样做时,我只是收到消息The command completed successfully
,但什么也没显示。我如何查看这些信息?