【求教】如何从表中随机选取数据? 本帖最后由 abcdabcd987 于 2011-08-10 10:55:07 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 测试一下不就知道了,原则是尽量用到索引,比如IDSELECT * FROM `table` ORDER BY RAND() LIMIT 0,1;这是最慢的1种,无法用到索引 SELECT * FROM `table` ORDER BY RAND() LIMIT 1; 你把它用在phpmyadmin上执行看看,效率如何就知道了 多谢前辈们的指教,确实是实践出真知,我试了试上面5种方法(第4种老是跑不出来,就放弃了)。弄了张100W的表(内容为:id,md5),四种方法(1,2,3,5)的出来的结果如下:545512 cd05f74d0185ec8099e48a9908f303cbTime: 4774 ms246519 eb3958494c768cc7efe197a0664b9b48Time: 0.9 ms760975 a53052c76f2ee1c00f8ac434ba8b0501Time: 542.1 ms723047 302258faa3e359e85467f592a34439f0Time: 1.3 ms由于ID字段是自增主键+唯一,所以第二个方法可以用,我决定用第二个方法了,谢谢各位前辈 GUI工具连接mysql出现2003——can't connect to mysql server on localhost(10061) 基础问题,MAC上安装了mysql,结果终端自动连接mysql update 与 删除 插入的性能问题 字段值是1或者0 这个用加索引吗? 数据备份 表里面有多个外键,怎样才能直接导入数据 怎么在mysql中查看当前mysql承载的所有sql语句? 请问,重装mysql后,如何恢复原来创建的数据库数据? 记录百万级用户每天使用手机流量数据库表设计 mysql存储过程的统计sql 请教mysql存文件的问题 delete 语句中含有EXISTS
这是最慢的1种,无法用到索引
Time: 4774 ms
246519 eb3958494c768cc7efe197a0664b9b48
Time: 0.9 ms
760975 a53052c76f2ee1c00f8ac434ba8b0501
Time: 542.1 ms
723047 302258faa3e359e85467f592a34439f0
Time: 1.3 ms
由于ID字段是自增主键+唯一,所以第二个方法可以用,我决定用第二个方法了,谢谢各位前辈