我使用 rand() 的顺序从数据库生成随机行没有任何问题,但我意识到随着数据库大小的增加,这个 rand() 会导致服务器负载过重,所以我正在寻找一种替代方法,我尝试通过生成一个随机数使用 php rand() 函数并将其作为 id 在 mysql 查询中,它非常快,因为 mysql 知道行 id,但问题是在我的表中所有数字都不可用。例如 1、2、5、9, 12这样。
如果 php rand() 生成数字 3,4 等,则查询将为空白,因为没有数字 3、4 等的 id。
从 php 生成随机数的最佳方法是什么,但它应该在该表中生成可用的 no,因此它必须检查该表。请告知。
$id23=rand(1,100000000);
SELECT items FROM tablea where status='0' and id='$id23' LIMIT 1
上述查询速度很快,但有时会生成数据库中不可用的 no。
SELECT items FROM tablea where status=0 order by rand() LIMIT 1
上述查询速度太慢,导致服务器负载过重