mysql随机查询的优化 mysql随机函数RAND()的使用方法_Ruby_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > Ruby > mysql随机查询的优化 mysql随机函数RAND()的使用方法

mysql随机查询的优化 mysql随机函数RAND()的使用方法

 2011/1/2 10:31:48  joan0106  http://joan0106.javaeye.com  我要评论(0)
  • 摘要:SELECT*FROMtablenameORDERBYRAND()LIMIT1SELECTMIN(id),MAX(id)FROMtablename;Fetchtheresultinto$a$id=rand($a[0],$a[1]);SELECT*FROMtablenameWHEREid>='$id'LIMIT1大意是说,如果你用ORDERBYRAND()来随机读取记录的话,当数据表记录达到30万或者更多的时候,mysql将非常吃力.所以php手册里给了一种方法,结合php来实现
  • 标签:方法 使用 函数 SQL 使用方法 MySQL 优化

SELECT * FROM tablename ORDER BY RAND() LIMIT 1

SELECT MIN(id), MAX(id) FROM tablename;

Fetch the result into $a

$id=rand($a[0],$a[1]);

SELECT * FROM tablename WHERE id>='$id' LIMIT 1

大意是说,如果你用 ORDER BY RAND() 来随机读取记录的话,当数据表记录达到30万或者更多的时候,mysql将非常吃力.
所以php手册里给了一种方法,结合php来实现:
首先 SELECT MIN(id), MAX(id) FROM tablename; 取数据库里最大最小值;
然后 $id=rand($a[0],$a[1]); 产生一个随机数;
最后 SELECT * FROM tablename WHERE id>='$id' LIMIT 1 将上面产生的随机数带入查询;

发表评论
用户名: 匿名