php性能优化

本文探讨了PHP性能优化的两个主要方面:代码规范优化和性能优化。在代码层面,建议多使用内置函数以减少执行时间,避免使用抑制错误符号@,精确选择数据库查询字段以节省内存,并避免循环内的多次执行。在PHP相关优化中,强调了减少数据库和文件IO,以及网络层的开销,通过实例展示了优化效果。
摘要由CSDN通过智能技术生成

前言:

    在经历2-3年的时间,php程序员可以完成基本的功能性开发。但是这时候会有一个小瓶颈。就是不知道怎么去优化自己的代码。

    优化代码主要有两方面.

    1.php代码规范的优化。让自己代码变的更具可维护性,可读性更强.便于团队开发协作.

    这里就不作详细介绍。大家可以参考 https://github.com/jupeter/clean-code-php 

    2.php性能优化.主要包括三个部分.

    (1)phpy语言优化

    (2)php相关的优化(数据库,硬件,操作系统)

    (3)php底层c扩展优化

    关于这里性能瓶颈,本人也是踩过坑的。具体可以参考https://blog.csdn.net/dennis211/article/details/79498514

 

   正文:

   1.php代码层面的优化

     (1)多使用php的内置函数,少用php的代码.

     解释:php底层是由于c语言写的.当然也包括内置函数.而c是静态语言。而php是动态语言.

     接下来我们做个测试。

     数据统一为50万条。功能统一设置过过滤数组中的空白数据.

    首先先上php代码的测试结果.

    

   接下来是php内置函数的测试结果.

   

   结论:在50万条数据量级,过滤空白字符.php代码和内置函数时间差距。差了1.83秒。25倍的差距。效果明显

 

 (2)不使用抑错符@

  

  

   

   结论:在50万条数据的量级.时间差了0.2秒。基本没有什么差别

   如果对于千万级。亿级数据。这个还是需要注意。

 

 (3)节省内存

 查数据精确到字段,select id,name 取代 select *

读取文件完毕.记得close连接

unset掉没用的变量.

 

(4)避免循环内多次执行

之前在做统计的时候.就遇到这个问题

for循环中统计数量

优化统计数量的代码

从原来的1.984秒提高到了0.151秒。整整13倍的差距. 效果明显

  

2.php相关优化

php性能开销  读取内存 < 读取数据库 < 读取文件IO < 网络层的IO 

 

例子:https://blog.csdn.net/dennis211/article/details/79498514

在10万条数据量级插入数据库。从15秒直接优化到0.5秒。

把网络的开销降低到读取数据库层的开销。效果明显

 

例子:

涉及多表操作

先查出来再插入表.

可以通过一条语句.查询插入完成. 优化网络层的开销.

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值