Teradata SQL 派生 table 数据重新分配

Teradata SQL Derived table data redistribution

这又是 SQL 权威人士的一个问题。 我可以使用这些方法在 Teradata 中创建派生表

 - With ( __,__)
(select statement ) alias 
query 
-- select ____ from a , ( select statement ) b  < Join condition )

我想知道在这两种情况下数据分发(对于 DT)是如何发生的。这里有规则吗?有什么方法可以调整 DT,以便我可以根据我想要的密钥重新分配 - 与 VT 相同的功能但我想,它避免了新的 CT 语句,而且你还松散了统计工具(如果它不改变解释,我在某些情况下可以放松)

EXPLAIN 查询,你会看到分布,它不是你想要的键,它通常基于以下连接,例如按(您的连接列) 的哈希码分布。

使用 VT 你可以强制执行特定的顺序,所以当然在某些情况下 Volatile Table 可能更好,但除非你在后续查询中需要相同的结果,否则你应该检查优化器的计划使用DTs/CTEs 第一。