php 随机记录mysql rand()造成CPU 100%的解决办法

yipeiwu_com6年前Mysql基础
百度查阅了一些资料,再结合自己的一些经验,采用以下解决办法:
复制代码 代码如下:

$idlist='';
for($i=1;$i<=20;$i++){
if($i==1){
$idlist=mt_rand(3,25216);
}
else{
$idlist=$idlist.','.mt_rand(3,25216);
}
}
$query="select * from table where id in ($idlist) LIMIT 0,10";

原理其实很简单,就是产生一组随机ID,然后检索这一组ID对应的记录,经过这样优化,页面打开速度明显快了很多,CPU占用率也小到几乎为0,呵呵~顺便用这个思路把sqlserver站点也优化了一下!
速度比较:
用rand()取10条随机记录要400多毫秒,而用上面的方法只要0.6毫秒左右,差别太大了!!!

相关文章

mysql时区问题

用convert_tz转换时区,你可以用      show   variables  ...

PHP获取MySql新增记录ID值的3种方法

一、使用语句:   复制代码 代码如下:mysql_query("select max(id) from t1",$link); 使用此方法得到的是 id最大的值,确为最后一个...

php+mysqli事务控制实现银行转账实例

本文实例讲述了php+mysqli事务控制实现银行转账的方法。分享给大家供大家参考。具体分析如下: 事务控制,也就是说所有的语句执行成功后,才会提交。否则,如果前面有语句执行成功,而后面...

php+mysql查询实现无限下级分类树输出示例

本文实例讲述了php+mysql查询实现无限下级分类树输出。分享给大家供大家参考,具体如下: 这里介绍的php结合mysql查询无限下级树输出,其实就是无限分类。给各位整理了几个php无...

php将mysql数据库整库导出生成sql文件的具体实现

由网上搜到,有更改。 文件名:db_backup.php 源代码如下: 复制代码 代码如下: <?php ini_set("max_execution_time", "180");...