存档

‘PHP性能优化’ 分类的存档

经典分享MySQL的limit查询优化

2010年12月8日 ken 1 条评论

以下的文章主要是对MySQL limit查询优化的具体内容的介绍,我们大家都知道MySQL数据库的优化是相当重要的。其他最为常用也是最为需要优化的就是limit。MySQL的limit给分页带来了极大的方便,但数据量一大的时候,limit的性能就急剧下降。

同样是取10条数据

  1. select * from yanxue8_visit limit 10000,10
  2. select * from yanxue8_visit limit 0,10

就不是一个数量级别的。 阅读全文…

Smarty的缓存操作方法

2010年12月5日 ken 没有评论

 一、使用缓存
要开启smarty的缓存,只需将caching设为true,并指定cache_dir即可.
使用cache_lefetime指定缓存生存时间,单位为秒
要对相同页面生成多个不同的缓存,在display或fetch中加入第二参数cache_id,如$smarty->display(‘index.tpl’,$my_cache_id);此特性可用于对不同的$_GET进行不同的缓存
 
二、清除缓存

 clear_all_cache();//清除所有缓存
clear_cache(‘index.tpl’);//清除index.tpl的缓存
clear_cache(‘index.tpl’,cache_id);//清除指定id的缓存 阅读全文…

PHP开发规范!

2010年11月26日 ken 没有评论

一、规范前言篇

标准化不是特殊的个人风格,它让程序员可以了解任何代码,弄清程序的状况;新人可以很快的适应环境;防止新接触php的人一次次的犯同样的错误;在一致的开发环境下,可以减少人们犯错的机会。本规范的标准在绝对多数应用上为仿照java技术体系,因为java技术体系以其众多成功的案例成为大部分计算机应用层的工业标准,此外便于日后公司向java技术体系转型。 阅读全文…

分类: PHP, PHP性能优化 标签: ,

小规模低性能低流量网站设计原则

2010年10月20日 ken 没有评论

       到处都是什么大规模啊,高流量啊,高性能之类的网站架构设计,这类文章一是满足人们好奇心,但看过之后也就看过了,实际收益可能并不大;另外一个副作用是容易让人心潮澎湃,没学走先学跑,在很多条件仍不具备的情况下,过度设计、过度扩展(高德纳大爷也说过,”过早优化是万恶之源”),所以,这里反弹琵琶,讨论一下小规模低性能低流量的网站该如何搞法。

如果站点起步阶段可能就是一台机器(或是一台虚拟机,比如 JobsDigg.com ),这个时候,去关注什么数据拆分啊,负载均衡啊,都是没影子的事情。很多大站点的经验绝不能照搬,辩证的参考才是硬道理。 阅读全文…

分类: PHP性能优化 标签:

php性能优化-php代码书写习惯优化

2010年9月21日 ken 7 条评论

      下面总结了18条php代码书写中可以做的优化习惯,以最大限度的保证php代码执行的快速性!

(1)使用 static 静态方法比普通方法快4倍
(2)echo输出快于print
(3)连接字符使用 , 代替 .
(4)循环之前先取出最大值,而不是在循环里面取值
    正确的方法
      $max = count($array);
      for ($i=0;$i<$max;$i++) {
      echo $i;
      }
    错误的方法
      for ($i=0;$i<count($array);$i++) {
      echo $i;
      } 阅读全文…

分类: PHP性能优化 标签: ,

PHP性能优化技巧五条

2010年9月21日 ken 没有评论

1. 不要随便就复制变量

有时候为了使 PHP 代码更加整洁,一些 PHP 新手(包括我)会把预定义好的变量复制到一个名字更简短的变量中,其实这样做的结果是增加了一倍的内存消耗,只会使程序更加慢。试想一下,在下面的例子中,如果用户恶意插入 512KB 字节的文字到文本输入框中,这样就会导致 1MB 的内存被消耗!

BAD:

$description = $_POST['description'];
echo $description;

GOOD:

echo $_POST['description'];

2. 对字符串使用单引号

PHP 引擎允许使用单引号和双引号来封装字符串变量,但是这个是有很大的差别的!使用双引号的字符串告诉 PHP 引擎首先去读取字符串内容,查找其中的变量,并改为变量对应的值。一般来说字符串是没有变量的,所以使用双引号会导致性能不佳。最好是使用字符串连接而不是双引号字符串。 阅读全文…