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 By
与 Sample
.
大致相同
使用 Top
WITH 和 Order By
会导致更多开销。
我只是 运行 对大型 Teradata 数据集进行了三个查询:
SELECT * FROM table Sample 10;
SELECT * Top 10 FROM table;
(没有排序依据)
SELECT * Top 10 FROM table ORDER BY column;
DBQL 指标显示,到目前为止,没有顺序的前 10 个资源占用最少。我的 I/O & CPU 下降了大约 99%,只是从 SAMPLE 更改为 TOP。
因此,如果您的目标纯粹是效率,那么根据 TD 的 DBQL 指标,没有排序依据的 TOP 显然是赢家。
在 Teradata
中哪个更有效率 - Sample 或 Top?
Teradata
做更少的工作并导致更快的 returns?
例行公事,我只想看几行。
话题相关: differences between top and sample in teradata sql
TOP 通常是更快的,当返回足够的数据时,将快捷方式从处理中移除。
Sample 有更多的选项并且在统计上是正确的。为此,它可能需要读取更多数据块。
我认为不使用 order by TOP
比使用 sample
更好。这两个都在显示结果之前评估整个表达式。
从效率的角度来看:
使用 Top
不使用 Order By
与 Sample
.
使用 Top
WITH 和 Order By
会导致更多开销。
我只是 运行 对大型 Teradata 数据集进行了三个查询:
SELECT * FROM table Sample 10;
SELECT * Top 10 FROM table;
(没有排序依据)SELECT * Top 10 FROM table ORDER BY column;
DBQL 指标显示,到目前为止,没有顺序的前 10 个资源占用最少。我的 I/O & CPU 下降了大约 99%,只是从 SAMPLE 更改为 TOP。
因此,如果您的目标纯粹是效率,那么根据 TD 的 DBQL 指标,没有排序依据的 TOP 显然是赢家。