💡
原文英文,约1200词,阅读约需5分钟。
📝
内容提要
介绍了在PostgreSQL中生成随机数的方法,包括生成均匀分布的随机数、生成指定范围内的随机整数、从数组中随机选择元素、从表中随机选择行、生成正态分布的随机数,以及PostgreSQL使用的伪随机数生成器的工作原理。
🎯
关键要点
- 生成随机数在程序中是常见任务,PostgreSQL提供简单的函数满足随机需求。
- random()函数返回0.0到1.0之间的均匀分布的双精度浮点数。
- 要生成指定范围内的随机整数,可以通过对random()结果进行缩放和取整。
- 可以从数组中随机选择元素,使用ceil()或floor()函数来处理浮点数。
- 从表中随机选择行的方法包括使用ORDER BY random(),但对于大表效率低下。
- 可以通过为表添加随机列并索引来提高随机行选择的效率。
- 使用TABLESAMPLE子句可以从表中随机抽样。
- 可以将整个集合分成随机组,通过随机排序来实现分组。
- 正态分布是常用的概率分布,可以使用random_normal(mean, stddev)函数生成。
- random()函数是伪随机的,使用确定性过程生成看似随机的数列。
- PostgreSQL使用Blackman/Vigna的xoroshiro128 1.0伪随机数生成器,启动时设置种子值。
➡️