如果是自增ID的话。先在php中随机函数rand()获得一个1到一千万的数字,select 字段 from where 自增字段名=数字 limit 1。或者 select 字段 from 表名 order by rand() limit 1 关键都是 limit 1,这是告诉mysql查获一条记录后,不再继续查找其他符合条件的记录。第二个应该是主要考虑$_GET['...
MYSQL:在一千万条数据里面随机查找一条数据要求查找时间小于0.1秒
如果是自增ID的话。
先在php中随机函数rand()获得一个1到一千万的数字,select 字段 from where 自增字段名=数字 limit 1。
或者 select 字段 from 表名 order by rand() limit 1
关键都是 limit 1,这是告诉mysql查获一条记录后,不再继续查找其他符合条件的记录。
第二个应该是主要考虑$_GET['query']的优化吧;
第一是防sql注入,第二是转义html符号。
$query=$_GET['query'];
$query=addslashes($query);
$query=htmlentities($query,ENT_QUOTES,GB2312或者utf-8);
echo "<p>result is very".$query."</p>";2010-05-01
你这样就已经是查询5条随机的记录了呀。2019-11-27