php里drear_影响PHP+MYSQL执行速度的写法对比第7/7页

影响PHP+MYSQL执行速度的写法对比第7/7页

发布于 2014-09-14 18:54:17 | 87 次阅读 | 评论: 0 | 来源: 网友投递

PHP开源脚本语言PHP(外文名: Hypertext Preprocessor,中文名:“超文本预处理器”)是一种通用开源脚本语言。语法吸收了C语言、Java和Perl的特点,入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域。PHP的文件后缀名为php。

[code]<?php

include_once("../db.php");

if($_GET[x2]==0 and $_GET[x1]==0)

{

$t=" s1='' ";

}else

{

if($_GET[x2]!=0)

{

$t=" x2='$_GET[x2]' ";

}else

if($_GET[x1]!=0)

{

$t=" x1='$_GET[x1]' and x2=0 ";

}

}

$query = "select count(*) from ask_member  where  $t   ";

$result2 = mysql_db_query($DataBase, $query);

$r3 = mysql_fetch_array($result2);

$amount=$r3[0];

$page_size=5;

if($amount%$page_size==0 and $amount>0)

{

$pagecount=($amount/$page_size);

}else

{

$pagecount=intval($amount/$page_size)+1;

}

if($_GET

==0)

{$_GET

=1;}

if($_GET

>$pagecount)

{$_GET

=$pagecount;}

$page=$_GET

;

$a=($_GET

-1)*$page_size;

$query = "select tid,truename,school,study,city,logo,year,month,x1,x2 from ask_member where  $t order by logo desc, logintime desc limit $a,$page_size ";

$result = mysql_db_query($DataBase, $query);

while($r2[] = mysql_fetch_array($result))

{

}

foreach($r2 as $rr2)

{

$query = "select name,tid from ask_school  where tid='$rr2[x2]' ";

$result2 = mysql_db_query($DataBase, $query);

$r5[] = mysql_fetch_array($result2);

}

$n=count($r2)-1;

?>

for($i=0;$i

{

?>

src="../ask/center/memberlogo/<?php  if($r2[$i][logo]!=''){echo $r2[$i][logo];}else if ($r2[$i][sex]=='女'){echo "default.gif";}else{echo "default3.gif";} ?>"  border=0 width="100" height="127" οnlοad="javascript:DrawImage(this,100,127)">

<?php  echo $r2[$i][truename]; ?> - 信息 :)

字段一:<?php  echo $r5[$i][name]==''?'内容':$r5[$i][name]; ?> 

字段二:<?php  echo $r2[$i][study]; ?>

字段三:<?php  echo $r2[$i][year]; ?><?php  echo $r2[$i][month]; ?>

浏览:一 |

二 |

三 

">打个招呼
">其它操作
">操作二

}

?> [/code]

问题一:为什么要用

while($r2[] = mysql_fetch_array($result))

{

}

foreach($r2 as $rr2)

{

$query = "select name,tid from ask_school  where tid='$rr2[x2]' ";

$result2 = mysql_db_query($DataBase, $query);

$r5[] = mysql_fetch_array($result2);

}

?>

while($r2[] = mysql_fetch_array($result))

{

}

foreach($r2 as $rr2)

{

$query = "select name,tid from ask_school  where tid='$rr2[x2]' ";

$result2 = mysql_db_query($DataBase, $query);

$r5[] = mysql_fetch_array($result2);

}

?>

而不用:

$j=0;

while($r2[$j] = mysql_fetch_array($result))

{

$query = "select name,tid from ask_school  where tid='$r2[$j][x2]' ";

$result2 = mysql_db_query($DataBase, $query);

$r5[$j] = mysql_fetch_array($result2);

$j++;

}

?>

$j=0;

while($r2[$j] = mysql_fetch_array($result))

{

$query = "select name,tid from ask_school  where tid='$r2[$j][x2]' ";

$result2 = mysql_db_query($DataBase, $query);

$r5[$j] = mysql_fetch_array($result2);

$j++;

}

?>

答:因为PHP网站在运行过程中,真正影响速度的原因只有一个,那就是对MYSQL的读取,至于程序多运行一两次复制和拷贝,很难对速度造成影响.所以在读取MYSQL的时候,我宁愿多一次内存中的运算,也不愿有什么操作影响到对MYSQL的读取.

问题二:为什么不用模版写程序?

答:因为PHP已经是最好的模版引擎了,为什么还要用其它的模版呢?

问题三:为什么把大量的PHP代码放在的上方,而不是放面HTML的下方?

答:这个是有很大区别的,其一:代码放在上方,如果对代码进行修改的话,用DREARWEAVER再看下面视图的时候,不会有慢的感觉.

其二:大部分代码全部放在上方,而不是放在下方,对PHP脚本的解析运行有好处,可以减轻PHP服务器解析脚本的负担,并且符合模版及缓存设计思想.

问题三:为什么要用

view plaincopy to clipboardprint?

$query = "select count(*) from ask_member  where  $t   ";

$result2 = mysql_db_query($DataBase, $query);

$r3 = mysql_fetch_array($result2);

$amount=$r3[0];

?>

$query = "select count(*) from ask_member  where  $t   ";

$result2 = mysql_db_query($DataBase, $query);

$r3 = mysql_fetch_array($result2);

$amount=$r3[0];

?>

而不是用:

view plaincopy to clipboardprint?

$query = "select * from ask_member  ";

$result2 = mysql_db_query($DataBase, $query);

$amount=mysql_num_rows($result2);

?>

$query = "select * from ask_member  ";

$result2 = mysql_db_query($DataBase, $query);

$amount=mysql_num_rows($result2);

?>

答:第一种是对一条记录的查询,第二种是对所有记录的查询,两者速度有天壤之别.

问题四:为什么上面要多一行

view plaincopy to clipboardprint?

$n=count($r2)-1;

?>

$n=count($r2)-1;

?>

而不是下面直接用:

view plaincopy to clipboardprint?

for($i=0;$i

{

?>

for($i=0;$i

{

?>

答:应该尽量减少在以下进行PHP的运算,如果过多地在下进行运算的话,那就成了混编了.

问题五:为什么说以上代码是核心代码?

答:任何一位程序员都知道,读数据的分页读出是最常用的,我想大部分的PHP程序员30%的时间都是发在这个上面吧.

以上是我总结出的最快的写PHP的经验,请广大网友指正,如果觉得可以的话,希望所有人都能用这种方式来写程序,那样的话我以后安排一批PHP程序员进行分工协调的时候也好办多了.

相关阅读:

影响PHP+MYSQL执行速度的写法对比第7/7页

PHP+MySQL投票系统的设计和实现代码

PHP+MYSQL会员系统的登陆即权限判断实现代码

PHP 函数执行效率的小比较

PHP+MYSQL会员系统的开发示例教程

PHP定时执行任务的实现方法

PHP+MySQL修改记录的方法

php定时执行任务的实现方法

PHP+MYSQL实现用户的增删改查(curd)

php+mysql实现简单的增删改查功能

PHP定时执行任务的3种方法详解

php mysql访问数据库的步骤详解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值