【问题标题】:Teradata SQL Derived table data redistributionTeradata SQL 派生表数据再分配
【发布时间】:2016-01-18 11:13:20
【问题描述】:

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

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

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

【问题讨论】:

标签: sql performance teradata sql-tuning derived-table


【解决方案1】:

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

使用 VT,您可以强制执行特定顺序,因此当然有些情况下 Volatile Table 可能会更好,但除非您在后续查询中需要相同的结果,否则您应该首先使用 DT/CTE 检查优化器的计划。

【讨论】:

  • 谢谢迪特。这里还有一个有点“枯燥”的,因为在这里我通过 dims 重新分配了很多次它与 fct 的连接。例如f1.c1=d1.c1 和 f1.c2=d1.c1,其中很多是 LOJ,有些是 IJ,但不同的 fct 列,相同维度列指的是下面的一个
猜你喜欢
  • 2020-06-05
  • 1970-01-01
  • 2015-10-26
  • 2021-04-26
  • 1970-01-01
  • 2016-01-09
  • 2016-02-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多