すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:ST_IsRandomSampled

最終更新日:Mar 29, 2026

レコードがそのハッシュ値および指定されたサンプルレートに基づいてサンプリングされるかどうかを確認します。レコードがサンプリングされる場合は true を返し、そうでない場合は false を返します。サンプリング確率は、sample_rate の値と等しくなります。

構文

BOOLEAN ST_IsRandomSampled(RECORD tuple, INTEGER sample_rate)

パラメーター

パラメーター説明
tupleハッシュ値の生成に使用されるレコードのプロパティです。システムはこのハッシュ値に基づいて、レコードをサンプリングするかどうかを判定します。ROW() を使用して、複数のプロパティからハッシュ値を生成できます。テーブル全体に対して正確なサンプリング比率を得るには、一意であり、かつ均等に分散しているプロパティまたはプロパティの組み合わせを選択してください。
sample_rateサンプリング確率を整数パーセントで表した値です。たとえば、値 50 は、各レコードが 50 % の確率でサンプリングされることを意味します。

説明

  • レコードがサンプリングされる場合は true を返し、そうでない場合は false を返します。

  • サンプリング確率は sample_rate によって制御されます。

  • 戻り値は、tuple および sample_rate の両方に依存します。

  • テーブル内のすべてのレコードに適用する場合、tuple は各レコードごとに一意である必要があります。これにより、サンプリング対象となるレコード数が、sample_rate × レコード総数に近似します。

-- すべてのレコードについて結果を返します。半分のレコードには true、残り半分には false が返されます。
SELECT ST_IsRandomSampled(ROW(id), 50) FROM table;

-- サンプリング確率が 80 % のジオメトリのエリアを計算します。
SELECT ST_Area(geom) FROM table WHERE ST_IsRandomSampled(ROW(geom), 80);

-- ジオメトリをランダムに半分選択し、MVTGeom オブジェクトに変換します。
SELECT ST_AsMVTGeom(geom, ST_Transform(ST_TileEnvelope(0,0,0),4326)) FROM table
WHERE ST_IsRandomSampled(ROW(geom), 50) AND geom&&ST_Transform(ST_TileEnvelope(0,0,0),4326));