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毫秒左右,差别太大了!!!

相关文章

php数据入库前清理 注意php intval与mysql的int取值范围不同

php保存数据到mysql 打算在dao层进行数据入库前的清理,比如varchar进行trim,int进行intval。 有一天突然想起,php intval的取值范围与mysql的in...

MySQL授权问题总结

我用localhost的root帐号不能连 最后请教DBA组新建用户搞定! 现弄些受权用户的资料 以备不时之需 授权表使用举例 grant用于给增加用户和创建权限,r...

php Mysql日期和时间函数集合

收集的比较全的Mysql日期和mysql时间函数 DATE_FORMAT(date,format)  根据format字符串格式化date值。下列修饰符可以被用在form...

在php和MySql中计算时间差的方法详解

在php中计算时间差有时候是件麻烦的事!不过只要你掌握了日期时间函数的用法那这些也就变的简单了。 最近在研究自己爱围脖的时候就要计算到恋爱天数,这需要php根据每天的日期进行计算,下面就...

php环境配置 php5 mysql5 apache2 phpmyadmin安装与配置

php环境配置 php5 mysql5 apache2 phpmyadmin安装与配置

php环境的配置,对于新手来说,绝对是一件烦事。总会遇到这样那样的问题,走很多弯路。所以今天特意写了这个配置文档,相信按照以下步骤你一定会成功的。错误的地方也希望各位指正。 更多文章 p...