影响程序性能的主要因素

我在公司负责产品的研发工作,产品主要是面向行业用户的,用来做开发整合的。有别于互联网的网站。


最近一直在考虑,像这样的产品,什么才是影响性能的主要因素呢?


我觉着有三年以上经验的程序员,写出来的java代码都是差不多的,而且公司也有详细的开发规范,


开发规范分两部分:


第一部分是代码规范

第二部分是注意的问题:比如用StringBuffer代替String之类的东西,比如,尽量避免大段的代码同步等。


要求每个程序员都必须按照开发规范来写程序,所以只要不是水平太次,一般不会在代码写出影响性能的东东。


所以感觉影响性能的还是在数据库和页面两部分。


数据库主要表现在:SQL执行的效率不一致,有的程序员写的SQL执行效率高一些,有的写的SQL执行效率低下。

页面:主要表现在图片过多、js文件过大等方面。


我觉着,如果一个有三年经验的程序员,应该不会写出太次的SQL,同样的业务逻辑(同样的表结构),两个程序员


写的SQL应该相差不大。


所以我感觉影响SQL执行效率低下的原因,最有可能的不是程序员写的差,而是:

1、数据库表结构设计不合理,业务逻辑设计不合理,在业务逻辑变化的时候,出现拼凑,凑合等情况,导致巨无霸SQL的产生。

 

2、数据库没有做相应的优化,比如没有加索引等。


说到加索引,发现程序员一般喜欢不经过详细的SQL执行计划的分析就加。其实这是值得商榷的。

 

结论:


设计是最重要的,但是要做到完美的设计,可以说现阶段的水平,基本没戏。


碰到业务逻辑变化咋办?


只能不停的review,不光是代码的review,设计的review也是不能少的

 

这又带来一个问题,设计变了(比如数据库表),如何与老版本兼容呢?

 

真是一个头疼的问题!

你可能感兴趣的:(数据结构,sql,工作,互联网)