|
发表于 2006-11-27 11:06:18
|
显示全部楼层
Post by yanglei1979
"在php页面的开始就把所有的数据准备好。",这个说得很好,但我还有一个疑问就是,是先把需要的数据准备好呢,还是用到的时候再调用数据库进行运算,再循环输出.
当然,前一种代码的维护是要好一些,但如果在程序的速度上面呢,哪一种好一些?
事先把数据准备好的话,你需要遍历记录集,把数据拷贝到一个嵌套数组里。通常是这样:
[PHP]
$data = array();
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
$data[] = $row;
}
// 对$data中需要格式化和运算的字段进行处理。
......
// 开始html呈现
[/PHP]
这样做,首先一个好处,就是代码和呈现分离。后面就只会对$data进行echo和for操作。一个缺点就是增加了拷贝操作。
然而,很可能在页面中你需要多次使用记录集,这样就还是把它拷贝到数组里比较方便。
效率上来说,一般带宽才是瓶颈,其次是数据库和其他IO。置于内存中的运算、拷贝、创建对象,很难成为瓶颈。相对来说,把代码组织得好一些,对项目会更有帮助。 |
|