PHP对接口执行效率慢的优化

PHP对接口执行效率慢的优化

形成执行效率低的缘由能够由不少方面找缘由
  • 从代码层面,代码质量低,执行效率也会有很大影响的。
  • 从硬件方面,服务器配置低,服务器配置是基础,这个跑不动确定慢。
  • 从数据量方面,查询数据量过多,sql语句过于繁杂,执行缓慢。
服务器

从配置上作提高,对于系统总体的执行效率是至关明显的,这一点没有什么好质疑的,只要有实力,天然就能够多在这方面作提高了。php

数据查询

这个查询的优化,涉及sql的优化,或者到数据库的优化,下面有几个简单的优化方案。sql

  • sql的优化,适当使用链表查询,使用链接(JOIN)来代替子查询,通常大表和多表的状况避免使用JOIN,这种状况下使用JOIN反而达不到简化查询的效果。
  • sql的优化,查询表数据时精确字段名进行查询,避免没必要要的字段查询。
  • sql的优化,适当使用主外键和索引,索引字段的查询效率在大表查询的效率对比至关明细。可是针对对索引得使用,稍做备注。索引在不少状况下是会失效得,好比,索引列得字段内容若总体占比过大,那这个索引也就没什么做用了;not in ,not exist 中也是无效得;对索引列进行运算.须要创建函数索引等
  • sql的优化,适当使用in查询,尽可能少用,最好用union代替,效率会明显高 。 用in时,尽可能使用索引字段(曾经老大说in在100个字段内比较高效,1000则为零界点,不过还没具体测试过)。
  • sql的优化,适当使用模糊查询。最好不用,替换成全等,由于模糊中没法用索引

    ··········
  • 数据库的优化,字段使用合理的字段类型,另一个提升效率的方法是在可能的状况下,应该尽可能把字段设置为NOTNULL,避免空间浪费。
  • 数据库的优化,合理设计表结构。好比,有时多些必要得冗余得字段,要好过连表查询。
  • 数据库的优化,合理设计索引,在联表查询或条件筛选中,数据表增长索引后查询的效率会快特别多。

    ··········
代码优化

代码上的优化也是因人而异的,每一个人可能编码习惯和风格不一样,对于提升代码性能有各自的看法,如下是个人部分见解。数据库

  • foreach合理使用,尽可能少在循环中套用循环,在循环次数过多的状况下,很是耗性能。
  • 循环中,尽可能避免数据操做,特别是查询操做,在循环次数过多的状况下,屡次调用效率很低,可一次获取数据再拼接。
  • 同理,在循环中,避免配置的屡次获取,和time()函数方法的调用,这种一次声明就能够重复使用。
  • 在php中,单引号和双引号是有区别的,做为一种习惯字符串我都用单引号,由于它无需编译,对于效率,可能谈不上差别大小,可能就一点点
  • 合理利用在php中的函数,像数组函数就很是丰富,要充分利用,通常不要本身去作他自己就支持的函数方法
  • 能够用上字典的概念,将数组以新索引形式存储起来,我在数据的重组中很经常使用
  • 根据场景,合理使用缓存能够减小重复的数据查询,提升效率
  • 合理拆分功能,好比一个列表查询,并带有详情查看,能够将此处拆成两个接口实现,在须要时获取数据,减小资源浪费。 ··········
相关文章
相关标签/搜索