雅典娜中大小为 N 的随机样本



我正在尝试从雅典娜获取N行的随机样本。但是由于我想从中绘制此样本的表格很大,因此天真

SELECT
id
FROM mytable
ORDER BY RANDOM()
LIMIT 100

运行需要很长时间,大概是因为ORDER BY要求将所有数据发送到单个节点,然后对数据进行随机排序。

我知道TABLESAMPLE但这允许人们采样一定百分比的行而不是其中的一些行。有没有更好的方法

雅典娜实际上落后于普雷斯托。您可以使用 TABLESAMPLE 获取表的随机样本。

假设你想要 10% 的表样本,你的查询将是这样的:

SELECT id FROM mytable TABLESAMPLE BERNOULLI(10)

请注意,有伯努利和系统采样。这是它的文档。

相关内容

  • 没有找到相关文章