sql没有更快又随机的了.要快,用php生成80个user_id,取回后,
判断不够的话(如果碰上空user_id)再取,或者第一次生成几个(100个,120个),
取回后,再筛掉多余的.

解决方案 »

  1.   

    大家看看,换这样怎么样!
    SELECT count(user_id) as num  FROM user_tbl where sex=1  ORDER BY user_id desc  LIMIT 1$rand_start=mt_rand(0,$num)*1;
    if($rand_start >($num-80))
    $rand_start=0;SELECT * FROM user_tbl where sex=1  ORDER BY user_id asc  LIMIT $rand_start,80 这就是两条查询语句
      

  2.   

    这个换成存储过程也是白搭
    还是用 helloyou0(你好!) 的方法吧
      

  3.   

    SELECT * FROM user_tbl where sex=1  ORDER BY user_id asc  LIMIT $rand_start,80 --------------------
    这个不是全部随机,是从随机的一个记录开始的80条
      

  4.   

    就是换成存储过程,也是差不多的……程序的执行效率一般比数据库的执行效率好,不过数据库系统大部分时候可以自己优化sql语句,这样的执行效率就好了很多了。