TeraData SQL の「TOP」と「SAMPLE」の違いは何ですか? 彼らは同じですか?
21485 次
2 に答える
16
TOP 10は、「ソートされた順序で最初の10行」を意味します。ORDER BYがない場合、拡張すると、「任意の10行」を任意の順序で要求していると解釈されます。オプティマイザーは、見つけることができる最も安価なプランを自由に選択し、戻るのに十分な行が見つかるとすぐに処理を停止します。
このクエリがシステムで実行されている唯一のものである場合、TOPは常にまったく同じ答えを与えるように見えるかもしれませんが、その動作は保証されていません。
ご覧のとおり、SAMPLEは、結果セットをランダム化するために追加の処理を実行しますが、同じ近似分布を維持します。たとえば、非常に単純なレベルでは、テーブルのスキャンを開始するランダムなポイントと、返される行間をスキップする行の数を選択できます。
于 2011-06-16T15:43:54.173 に答える
2
「サンプル」コマンド:
Sel * from tablename
sample 100
これにより、テーブルから 100 の異なるレコードのサンプルが得られます。SAMPLE コマンドを実行すると、実行するたびに異なる結果が得られます。
TOP コマンド:
sel top 100 * from tablename;
これにより、テーブルの最初の 100 行が得られます。TOP コマンドを実行すると、実行するたびに同じ結果が得られます。
于 2019-02-10T09:31:37.367 に答える