TeraData SQL中“ OP”和“占用AMPLE”之间的区别
技术问答
174 人阅读
|
0 人回复
|
2023-09-13
|
TeraData SQL中的“ TOP”和“ SAMPLE”有什么区别?他们是一样的吗?
/ s+ Y8 {) r4 w) _# g: r3 \
4 c' d# G! E! d- T# y5 t解决方案:: {; K3 q7 r+ l; ]% ]1 l
9 B! e; f( }% u, H) V& O% s
1 n5 q8 z' W) Y+ ]6 _1 Y) A( H" [( g- p( C
从TOP到SAMPLE:
$ a1 ]0 {7 A0 e% H3 I0 W% S8 J+ F8 l: U
TOP 10表示“已排序的前10行”。如果您没有ORDER# h _9 \( A# ]+ O h8 J1 L
BY,那么根据扩展,它将被解释为以任何顺序要求“任何10行”。优化器可以自由选择可以找到的最便宜的计划,并在找到足够的行可以返回时立即停止处理。$ H" B" ^; B2 ^& O- d4 C2 ~
如果此查询是系统上唯一运行的查询,则TOP似乎总会给您完全相同的答案,但不能保证该行为。
: o) C5 i2 M, h7 y正如您所观察到的,样本进行了额外的处理,以尝试使结果集随机化,同时保持相同的近似分布。例如,在非常简单的级别上,它可以选择一个随机点来开始扫描表,并选择一些行以在返回的行之间跳过。 |
|
|
|
|
|