在使用 mysql 进行数据查询时,如需实现随机抽样,可借助不同的 sql 技巧完成,具体步骤如下:
1、首先确保本地 MySQL 服务已正常运行,登录数据库后新建查询窗口,在 sys_permission 表中执行随机数据提取操作,界面示意如下:

2、输入语句:SELECT * FROM sys_permission ORDER BY RAND() LIMIT 5;,即可从该表中随机选取 5 条记录,操作界面如下所示:

3、执行上述命令后,系统将成功返回 sys_permission 表中的 5 条随机数据。但需注意:此方式仅适合小规模数据集。当表中记录数达到数万甚至百万级别时,ORDER BY RAND() 会引发性能急剧下降,甚至触发内存溢出或超时错误,典型报错信息如下:

4、若面对海量数据仍需高效随机取样,推荐采用更优策略替代 RAND() 排序。
5、例如,可通过主键 permission_id 的范围估算与随机偏移结合的方式实现,示例逻辑如下图所示:

6、执行类似 SELECT * FROM sys_permission WHERE permission_id >= (SELECT FLOOR(RAND() * (SELECT MAX(permission_id) FROM sys_permission))) ORDER BY permission_id LIMIT 1; 的语句,即可快速获取一条真实随机记录。该方案显著提升大数据场景下的执行效率,实际效果如下图所示:



















