20个PHP程序性能优化的方法
1.数据库连接当使用完毕时应当关闭,不要使用长连接。
2.用@屏蔽错误消息的做法非常低效,极其低效。
3.使用选择分支语句(switch case)好于使用多个if,else if。
4.$row['id'] 的速度是$row[id]的 7 倍。
5.如果能将类的方法定义成static,尽量定义成static,速度会提升很多。
6.在不影响结果的前提下,用单引号代替双引号引用字符串。
7.“用 i+=1 代替 i=i+1。符合 c/c++的习惯,效率还高”。
8.require_once比较耗资源,因为需要判断文件是否被引用过,,所以能不用尽量不用。常用require/include方法避免。
9.优化selectSQL语句,在可能的情况下尽量少的使用Insert,Update操作。
10.尽可能的使用PHP内部函数。
11.foreach效率更高,尽量使用foreach替代while和for循环。
12.对global变量,应该用完就unset()掉。
13.注销那些不用的变量尤其是大数组,以便释放内存。
14.并非要用类实现所有的数据结构,数组也很有用。
15.多维数组尽量不要循环嵌套赋值。
16.循环内部不要声明变量,尤其是大变量:对象.
17.错误消息代价昂贵。
18.打开apache的mod_deflate模块,可以提高网页的浏览速度。
19.派生类中的方法运行起来要快于在基类中定义的同样的方法。
20.如果你想知道脚本开始执行(译注:即服务器端收到客户端请求)的时刻,使用$_SERVER[‘REQUEST_TIME’]要好于time()。
20个PHP程序性能优化的方法的更多相关文章
- 50个PHP程序性能优化的方法
1. 用单引号代替双引号来包含字符串,这样做会更快一些.因为 PHP 会在双引号包围的 字符串中搜寻变量,单引号则不会,注意:只有 echo 能这么做,它是一种可以把多个字符 串当作参数的" ...
- 50个php程序性能优化的方法,赶紧收藏吧!
1. 用单引号代替双引号来包含字符串,这样做会更快一些.因为 PHP 会在双引号包围的 字符串中搜寻变量,单引号则不会,注意:只有 echo 能这么做,它是一种可以把多个字符 串当作参数的“函数”(译 ...
- C++ 应用程序性能优化
C++ 应用程序性能优化 eryar@163.com 1. Introduction 对于几何造型内核OpenCASCADE,由于会涉及到大量的数值算法,如矩阵相关计算,微积分,Newton迭代法解方 ...
- [JAVA] java程序性能优化
一.避免在循环条件中使用复杂表达式 在不做编译优化的情况下,在循环中,循环条件会被反复计算,如果不使用复杂表达式,而使循环条件值不变的话,程序将会运行的更快. 例子: import java.util ...
- [转]C#程序性能优化
C#程序性能优化 1.显式注册的EvenHandler要显式注销以避免内存泄漏 将一个成员方法注册到某个对象的事件会造成后者持有前者的引用.在事件注销之前,前者不会被垃圾回收. private v ...
- iOS程序性能优化
iOS程序性能优化 一.初级 使用ARC进行内存管理 在iOS5发布的ARC,它解决了最常见的内存泄露问题.但是值得注意的是,ARC并不能避免所有的内存泄露.使用ARC之后,工程中可能还会有内存泄露, ...
- [python]用profile协助程序性能优化
转自:http://blog.csdn.net/gzlaiyonghao/article/details/1483728 本文最初发表于恋花蝶的博客http://blog.csdn.net/lanph ...
- iOS 程序性能优化
前言 转载自:http://www.samirchen.com/ios-performance-optimization/ 程序性能优化不应该是一件放在功能完成之后的事,对性能的概念应该从我们一开始写 ...
- 微信小程序性能优化技巧
摘要: 如果小程序不够快,还要它干嘛? 原文:微信小程序性能优化方案--让你的小程序如此丝滑 作者:杜俊成要好好学习 Fundebug经授权转载,版权归原作者所有. 微信小程序如果想要优化性能,有关键 ...
随机推荐
- golang基础--Gocurrency并发
Go并发特点 goroutine只是由官方实现的超级"线程池"而已,每个实例4-5kb的栈内存占用和用于实现机制而大幅减少的创建和销毁开销. 并发不是并行(多CPU): Concu ...
- nodejs实现文件上传
在使用ant-design的upload上传文件时,前端很好实现,那么我们如何实现node服务端呢? 服务端文件上传实现 var express = require('express'); var f ...
- 20155227 《Java程序设计》实验四 Android开发基础设计实验报告
20155227 <Java程序设计>实验四 Android开发基础设计实验报告 任务一 Android Stuidio的安装测试: 参考<Java和Android开发学习指南(第二 ...
- 20155317王新玮 2006-2007-2 《Java程序设计》第3学习总结
20155317王新玮 2006-2007-2 <Java程序设计>第3周学习总结 教材学习内容总结 第四章 chothes(String coler,char size)的含义是对col ...
- 北京Uber优步司机奖励政策(4月11日)
滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...
- c++ 结束程序的几种方式
abort exit 一.用abort()结束程序 用abort()表示非正常结束程序.如果要正常结束程序得用exit() 二.用exit()结束程序 用exit()它可以使程序正常结束,这个函数 ...
- Gulp 有用的地址
gulp似乎成为web开发的必选工具. 推荐一个非常好的入门教程 https://markgoodyear.com/2014/01/getting-started-with-gulp/ 官方插件列表: ...
- 通过redis实现session共享-php
<?php class redisSession{ /** * 保存session的数据库表的信息 */ private $_options = array( 'handler' => n ...
- 【jQuery学习】用JavaScript写一个输出多选框的个数报错:Cannot set property 'onclick' of null"
说明:代码段来源于:<锋利的jQuery> 根据代码段我补充的代码如下: <!DOCTYPE html> <html> <head> <meta ...
- JAVA基础学习之路(十二)链表
定义链表的基本结构: class Link {//外部类 //内部类,只为链表类服务 private class Node {//定义节点类 private String data;//保存的数据 p ...