Teradata 中 top 与 sample 的效率

Efficiency of top vs. sample in Teradata

Teradata 中哪个更有效率 - Sample 或 Top

由于样本是随机的,这是否会导致 Teradata 做更少的工作并导致更快的 returns?

例行公事,我只想看几行。

话题相关: differences between top and sample in teradata sql

TOP 通常是更快的,当返回足够的数据时,将快捷方式从处理中移除。

Sample 有更多的选项并且在统计上是正确的。为此,它可能需要读取更多数据块。

我认为不使用 order by TOP 比使用 sample 更好。这两个都在显示结果之前评估整个表达式。

参考:http://www.teradatatips.com/2010/10/top-vs-sample.html

从效率的角度来看:

使用 Top 不使用 Order BySample.

大致相同

使用 Top WITHOrder By 会导致更多开销。

我只是 运行 对大型 Teradata 数据集进行了三个查询:

  1. SELECT * FROM table Sample 10;
  2. SELECT * Top 10 FROM table;(没有排序依据)
  3. SELECT * Top 10 FROM table ORDER BY column;

DBQL 指标显示,到目前为止,没有顺序的前 10 个资源占用最少。我的 I/O & CPU 下降了大约 99%,只是从 SAMPLE 更改为 TOP。

因此,如果您的目标纯粹是效率,那么根据 TD 的 DBQL 指标,没有排序依据的 TOP 显然是赢家。