重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
看你服务器配置等。
成都创新互联公司自2013年创立以来,先为博白等服务建站,博白等地企业,进行企业商务咨询服务。为博白企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
我以前做项目,发现大约500次时就要几秒的处理时间。
所以我一般是高于500次时就会分次执行,比一次性执行反而快很多。
##################################
/*
PHP 一次查询数据库,多次使用。
作者:QQ 46429691
搜集齐()定位于搜索服务,致力于下一代互联网发展,通过先进的搜索技术为网友提供更优秀的互联网服务,目前为中国第五大搜索引擎。旗下拥有网址、音乐、图片、视频、商机、人肉搜索等多个项目构成搜集齐矩阵并由拥有多年大型网站运营经验的(Yoo Lee)先生出任CTO。
*/
###################################
$qrystr = mysql_query("select * FROM pic_sort");
//形成新的数组,以后查询就不经过数据库了直接访问$row1
while ($row = mysql_fetch_array($qrystr)) {
$row1[]=$row;
}
//比如取从0开始的10条数据
$qrystr1="0,10";//这里这样定义
$array=explode(",",$qrystr1);
for($i=$array[0];$i$array[1]+$array[0];$i++)
{
echo $row1[$i]["name"];//name为*里的任意字段名
}
完整的代码如下:
$con = mysql_connect('localhost(服务器地址)', '数据库用户名', '数据库密码');
//数据库连接。
if (!$con)
{
die('Could not connect: ' . mysql_error());
}//连接失败输出错误
mysql_select_db('数据库名', $con);
$sql = "select Name from 表名;";
$result = mysql_query($sql,$con);
while($row= mysql_fetch_array($result)){
echo $row['Name'];
}
我只针对你这个做优化吧。。
第一个不要用select * 这样的sql语句,你需要什么字段就写哪些字段
都需要的话,你都写出来,select * 效率很低的。。
第二个如果说你的后台中对这些数据的变动不是很频繁
然后你可以将查询结果存入memcahe中
我写一段伪代码
$mem_key="all";
$res = $memcache-get($mem_key);
//如果没有存入memcache中
if (empty($res){
//sql语句可以用left jion on关联查询
$aaa="select b.字段1,b.字段2...from btb as b left jion tb as b.id=t.id";
$bb=$mysql-_query($aaa);
while(!!$_rows=$mysql-_fetch_array_list($bb)){
//do something
$res ....
}
//结果存入memecahed中
$memcache-set($mem_key,$res,0,超时时间);
}
$res就是你获取的结果。。
你这段代码基本可以这样。。