我正在使用rand()的命令从数据库生成随机行而没有任何问题,但我重申,随着数据库大小的增加,这个rand()导致服务器上的负载很重,所以我正在寻找替代方案,我试着生成一个随机数使用php rand()函数并将其作为id放在mysql查询中,并且它非常非常快,因为mysql知道行id但问题在我的表中所有数字都不是availbale.例如1,2,5,9, 12那样的.
如果php rand()生成数字3,4等,则查询将为空,因为没有编号为3,4的id等.
什么是从PHP生成随机数的最佳方法,但它应该在该表中生成可用的no,因此它必须检查table.please建议.
$id23=rand(1,100000000);
SELECT items FROM tablea where status='0' and id='$id23' LIMIT 1
Run Code Online (Sandbox Code Playgroud)
上面的查询速度很快,但有时会生成数据库中不可用的查询.
SELECT items FROM tablea where status=0 order by rand() LIMIT 1
Run Code Online (Sandbox Code Playgroud)
上面的查询太慢,导致服务器负载过重