TeraData SQL中"TOP"和"SAMPLE"之间的区别

Ste*_*eve 7 sql teradata

TeraData SQL中"TOP"和"SAMPLE"有什么区别?它们是一样的吗?

Yuc*_*uck 14

TOP vs SAMPLE:

TOP 10表示"按排序顺序排列前10行".如果您没有ORDER BY,那么通过扩展,它将被解释为以任何顺序要求"任何10行".优化器可以自由选择它能找到的最便宜的计划,并在找到足够的行返回后立即停止处理.

如果此查询是您系统上唯一运行的查询,那么TOP似乎总能给出完全相同的答案,但不保证该行为.

正如您所观察到的,SAMPLE进行额外处理以尝试随机化结果集,同时保持相同的近似分布.例如,在一个非常简单的级别上,它可以选择一个随机点来开始扫描表,并在返回的行之间跳过多个行.