Todos os produtos
Search
Central de documentação

ApsaraDB RDS:ST_IsRandomSampled

Última atualização: Sep 02, 2026

Verifica se um registro foi amostrado com base em seu valor de hash e na taxa de amostragem especificada. Retorna true se o registro for amostrado; caso contrário, retorna false. A probabilidade de amostragem corresponde ao valor de sample_rate.

Sintaxe

BOOLEAN ST_IsRandomSampled(RECORD tuple, INTEGER sample_rate)

Parâmetros

Parâmetro

Descrição

tuple

Propriedades do registro usadas para gerar o valor de hash. O sistema utiliza esse hash para determinar a amostragem do registro. Use ROW() para construir um hash a partir de várias propriedades. Para garantir proporções de amostragem precisas em toda a tabela, selecione propriedades ou combinações únicas e uniformemente distribuídas.

sample_rate

Probabilidade de amostragem, expressa como porcentagem inteira. Por exemplo, o valor 50 indica 50% de chance de amostragem para cada registro.

Descrição

  • Retorna true se o registro for amostrado; caso contrário, retorna false.

  • O parâmetro sample_rate controla a probabilidade de amostragem.

  • Os valores de tuple e sample_rate determinam conjuntamente o retorno da função.

  • Ao aplicar a função a todos os registros de uma tabela, tuple deve ser único por registro. Isso garante que a quantidade de registros amostrados se aproxime de sample_rate × total de registros.

Exemplos

-- Return results for all records. true is returned for half of the records, and false for the other half.
SELECT ST_IsRandomSampled(ROW(id), 50) FROM table;

-- Calculate the area of geometries that have an 80% probability of being sampled.
SELECT ST_Area(geom) FROM table WHERE ST_IsRandomSampled(ROW(geom), 80);

-- Randomly select half of the geometries and convert them to MVTGeom objects.
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));