最近在调整一个查询模块的性能,该模块的前端封装得太不友好,是一次性把所有数据都拿到前台,不管当前有没有用到的,也就是缺少一种延迟加载,不过这样子问题应该也不是很大,毕竟传输的数据不多,而且调整起来也不容易。就接着看后台,后台代码写得更不友好,Action方法就写得比较简洁,从Action到Service,就像从星级酒店到了垃圾堆旁的感觉,让人一种无从适应的感觉,一个信息获取的方法,没什么业务的,负责把数据拿出来就行了,可为什么里面有这么多逻辑呢?接着做进一步分析,发现该信息获取涉及到主从表的信息的获取,先是获取主表的数据,进行遍历,再一次次地获取子表的数据,有两个字表,这完全是一种for循环里面连接数据库的典型反而教材。
问题找到了,应该怎么调整呢?性能调整的目的是够用,而不是最好,如果说调整实现,用ORM的一对多之类的,可以实现目的,考虑到工作量大,而且带来的影响应该不是很大,所以先不考虑这种方法,继续分析该问题。
对数据库模型做分析的时候,发现,两个从表都很简单,仅仅有两个字段,一个是ID,一个是Name,前台显示的时候,要求以“name1, name2...nameN。。。”的形式显示出来,所以就有了前面的for循环嵌套查询。经过样的分析,我发现,这个是设计的问题了,从性能的角度出发,这样做确实不好。有两种方法可以处理:
1、不要从表,把ID、Name都保存在主表里面,如(ID1、ID2。。。)和(Name1,Name2。。。)的形式,这样子主表会变大,从表就没有了,避免关联查询。
2、从表里面保存记录跟主表是一一对应的,保存成(ID1、ID2。。。)和(Name1,Name2。。。)的形式,再通过外健与主表关联。从表还存在,还需要关联查询,并且修改时会涉及到多个表的操作。
分析两种情况后,我采取了第一种处理方法,很快就调整好了,代码量少了一半,看起来很简洁,性能方面也有了很大的提长。
这个问题造成的影响很大的,一些客户因为该模块的查询速度慢,说“不再用你们系统了”之类的话,回头想想,这个问题在设计时,多想想,就可以避免这种问题的发生。如果这个问题是刚毕业的人写的,还可以原谅,但是却不是。
本文主要是想从一个日常的安全说明良好习惯的重要性。良好习惯的养成,要从一开始就要注意,要刻意要求自己养成程序员该有的良好习惯,多从系统的使用、性能等方面去考虑设计、开发。我带的实习生,我都是要求他们要养成一个良好的编程习惯,也经常检查他们写的代码,发现有不好的就以上提出来,不管是包名称大写这类的小问题还是打开资源不关闭这类大问题,都是不好的。不能因为自己的原因,给后面的人维护、升级带来麻烦,所以要切记,良好编程习惯很重要。
分享到:
相关推荐
在IT行业中,C++是一种广泛使用的编程语言,尤其在企业团队开发中,遵循一定的编程规范至关重要。这不仅可以提高代码的可读性和可维护性,还能确保团队间的协作效率。以下是一些基于标题和描述中的关键点,以及...
在C++编程中,良好的编码风格对于初学者来说至关重要,因为它不仅影响代码的可读性和维护性,还能帮助程序员形成规范的编程习惯。以下是一些关键的编程风格指南: 1. 防止重复编译:在头文件中使用`#ifndef`、`#...
"代码大全全新讲义和良好编程习惯"这个主题聚焦于提升编程技能,确保代码的可读性、可维护性和效率。这是一份综合性的学习资料,旨在帮助开发者养成良好的编程习惯,从而提高整体的编程素养。 首先,我们来看"代码...
### 编程修养——养成良好编程习惯提高个人编程能力 #### 什么是好的程序员? 成为一位优秀的程序员,并非单纯取决于掌握了多少技术细节或是编程速度有多快。实际上,优秀的程序员应该具备多方面的能力和素质: 1...
编程修养的体现之一是良好的编程习惯。例如: 1. **版权和版本**:在每个文件和函数开头添加版权和版本信息,这不仅表明代码的所有权,也方便追踪修改历史。 2. **缩进、空格、换行、空行和对齐**:良好的代码格式...
### 编程习惯的重要性 #### 一、版本控制——软件开发的生命线 版本控制作为软件开发过程中不可或缺的一部分,对于确保代码质量和团队协作效率至关重要。它不仅能够帮助开发者追踪项目的变更历史,还能有效防止...
良好的编程习惯对于任何程序员而言都是至关重要的。在软件开发过程中,编程习惯不仅关乎个人的工作效率和技术能力,更直接影响着项目的质量和后期维护的成本。本文将围绕“C语言编程习惯和修养”这一主题,详细探讨...
在软件开发领域,良好的编程习惯对于创建高效、可读性强且易于维护的代码至关重要。C#作为一种广泛使用的面向对象编程语言,掌握其最佳实践是每一个程序员成长道路上不可或缺的一环。本文将基于给定的文件信息,深入...
在S7-300/400 PLC编程中,良好的编程习惯对于代码的可读性、维护性和可靠性至关重要。以下是一些关键知识点: 1. **程序结构**:程序应组织得清晰有序,便于理解和调试。OB1是主程序,负责调用其他程序块;OB100...
**C++编程规范——养成良好编程习惯** 编程规范在软件开发中扮演着至关重要的角色,尤其是在C++这种复杂的编程语言中。它不仅有助于提高代码的可读性,还能减少潜在的错误,使得团队协作更加高效。遵循统一的编程...
### 编程修养——良好编程习惯的养成 在IT行业中,一名优秀的程序员不仅仅是掌握大量技术细节或具备快速编码能力的人。事实上,一个优秀的程序员应当具备一系列综合性的素养,这些素养涵盖了个人品质、团队协作能力...
文章标题和描述强调了面向对象编程的重要性及其对PHP程序员的帮助,尤其是在培养良好的编程习惯方面。下面,我们将深入探讨文章中提及的七个面向对象的编程习惯,以及它们为何对PHP开发者至关重要。 ### 1. 保持...
编程习惯是每位程序员都应该重视并养成的,它们对于编写出优雅、可读性强、易于维护的代码至关重要。本文主要探讨了C/C++编程中的良好习惯,尤其是关于头文件和定义文件的组织结构。 首先,一个典型的C/C++程序通常...
综上所述,这本书的重点在于提醒程序员注意软件质量,避免陷入编程误区,提倡良好的编程习惯,包括编写清晰的注释、合理的文档、严谨的设计以及关注性能优化等方面。通过学习这些原则和方法,程序员能够提高代码质量...
#### 养成良好编程习惯的方法 - **积累、提炼与求精**:程序员在工作中应不断积累知识,形成个人知识库,并定期对其进行更新和完善。随着时间的推移,个人的技术能力会得到显著提升。 - **注重细节**:在编码时,...
编程是一项需要精细思考和严谨态度的工作,良好的编程习惯能够极大地提高代码质量和开发效率。以下是15个编程好习惯的详细解读: 1. **先设计后编码**:在编写代码前,进行初步的设计工作,理解问题本质,规划解决...
【标题】:“成功软件开发者的9种编程习惯” 【描述】:本文将探讨那些有助于软件开发者提高效率、增强代码可读性和维护性的编程习惯。...同时,良好的编程习惯也有助于个人技能的提升和职业发展。