TeraData SQL中“TOP”和“SAMPLE”有什么区别?它们是一样的吗?
答案 0 :(得分:13)
TOP 10表示“排序前10行” 命令“。如果你没有ORDER BY, 然后通过扩展它将是 解释为要求“任何10 行“按任何顺序。优化器是 免费选择最便宜的计划吧 可以尽快找到并停止处理 因为它已找到足够的行返回。
如果这个查询是唯一的 在您的系统上运行,TOP可能会出现 总是给你完全一样的 回答,但那种行为不是 保证。
正如您所观察到的那样,示例 尝试随机化的额外处理 结果集保持不变 近似分布。非常 简单的水平,例如,它可以 选择一个随机点开始 扫描表和一些 行之间要跳过的行 返回。
答案 1 :(得分:0)
“示例”命令:
Edit/nbextensions config
这将为您提供表中100条不同记录的样本。 每次运行SAMPLE命令都会得到不同的结果。
TOP命令:
Sel * from tablename
sample 100
这将给出表的前100行。 每次运行TOP命令都会为您提供相同的结果。