コンテンツにスキップ

SAMPLINGヒント

SAMPLINGヒントは指定した割合に従ってデータを抽出します。抽出割合は実数値のSamplingRateで指定し、 1は全データの100%を意味します。

構文

SELECT /*+ SAMPLING(SamplingRate) */ col1, col2, ...
  FROM table_name
 WHERE ...;
パラメーター説明
SamplingRateデータの抽出割合を表す実数値

抽出割合をパーセントで表すには、SamplingRateに100を掛けます。

SamplingRate抽出割合
1100% (全データ)
0.011%
0.00010.01%
0.000010.001%

-- 条件に一致する行を最大100,000行に制限した範囲から1%を抽出
SELECT /*+ SAMPLING(0.01) */ t_name, time, value
  FROM tag
 WHERE t_name = 'TAG_99'
 LIMIT 100000;

注意事項

  • SamplingRateは時間間隔や返却行数ではなく、抽出割合です。
  • 返却行数は実行ごとに変わる場合があり、指定割合に対応する正確な行数は保証しません。
  • データが少ない場合や抽出割合が低い場合、結果が0行になることがあります。
  • 上記の例のようにLIMITを併用すると、LIMITで制限した行の範囲からサンプリングします。例えばSAMPLING(0.5)LIMIT 1000では、一致するデータが十分にある場合、最大1,000行の範囲から約50%を抽出します。サンプリング結果を1,000行まで埋めて返す意味ではありません。

関連ドキュメント

最終更新日