在程序的开发中,如何提高程序的运行效率?
语言:Other
等级:中级
数据层次
- sql的优化,多次查询的尽量用一句sql来执行
- 索引优化。表过大,重要搜索字段一定要加上索引,多字段要遵循最左原则
- 数据库引擎:对于非重要数据表可以使用myisam数据表,而非innerdb
- 反三范式设计,减少数据表的查询
- 如果数据量确实过大,需要根据适当的算法考虑分表
- 配置数据库的主从复制,读写分离。
代码层次
- include_once比include更加耗时
- 变量拼接比直接使用双引号快
- 公共变量的定义如果变量值不变化,不要写再循环内
- 静态函数要比成员函数快(不用new了,直接使用)
- 如果处理的文案过大,正则会很影响行性能;
- 尽量不要使用相对路径来包含文件,因为会基于当前目录去查找;
- ===要快于==
- && 要比and快,并且更不容易出问题(&& 运算级别高于and),类推。
- 后端缓存
- 对于常用数据,要用缓存存储。可以使用redis等,但是也要考虑内存的大小。具体取舍看具体项目
- 前端
- 服务器缓存:pagecache,
- 客户端:基本常用数据存储到cookie,localstorage等不需要不同页面都要获取接口数据,对接口造成压力
- 服务器层次
- 硬件配置
- 服务器尽量购买使用地区最近的服务器
- 负载均衡,让多个服务器来分解压力
相关推荐