本帖最后由 abcdabcd987 于 2011-08-10 10:55:07 编辑

解决方案 »

  1.   

    测试一下不就知道了,原则是尽量用到索引,比如IDSELECT * FROM `table` ORDER BY RAND() LIMIT 0,1;
    这是最慢的1种,无法用到索引
      

  2.   

    SELECT * FROM `table` ORDER BY RAND() LIMIT 1;
      

  3.   

    你把它用在phpmyadmin上执行看看,效率如何就知道了
      

  4.   

    多谢前辈们的指教,确实是实践出真知,我试了试上面5种方法(第4种老是跑不出来,就放弃了)。弄了张100W的表(内容为:id,md5),四种方法(1,2,3,5)的出来的结果如下:545512 cd05f74d0185ec8099e48a9908f303cb
    Time: 4774 ms
    246519 eb3958494c768cc7efe197a0664b9b48
    Time: 0.9 ms
    760975 a53052c76f2ee1c00f8ac434ba8b0501
    Time: 542.1 ms
    723047 302258faa3e359e85467f592a34439f0
    Time: 1.3 ms
    由于ID字段是自增主键+唯一,所以第二个方法可以用,我决定用第二个方法了,谢谢各位前辈