`

工作日志十四 重构认识之三

 
阅读更多
      SQL的重构,也是开发者经常要做的工作。当我们的SQL变更的时候,SQL会变得越来

越长,查询效率会变得越来越慢,这就是暗示,我的SQL语句可能到了需要重构的时候啦。我

们原来的SQL设计也许已经不能满足现有的需求,那么重新调整我们查询的SQL设计和方案是

非常必要的。

        通常,我们需要对过长的SQL重构。每当我们的开发人员,拿过来一段长长的SQL语

句,就感觉有点打颤,其实,越长的SQL语句并不复杂,体现了一些业务的逻辑在里面,只要

我们明白了其中的含义,也就不难啦。我的主要重构SQL的目的,使我们的SQL更简洁,可读

性更好些,性能得到很好的提升。重构SQL最终目标还是让我们的性能能够满足当前的需求。

如何重构我们的SQL,需要我们根据实际情况来操作,但是还需要一定的经验作指导。

        根据20/80原则,影响我们SQL性能的80,主要集中在设计和开发阶段,所以我们在

设计和编写SQL语句的时候,就该尽量做到性能良好。对于现有的系统,我们要提升我们的

SQL性能,就主要在重构SQL,进行部分的设计和修改,完善,满足用户的需求。一般,我们

重构SQL:

       首先,确定那些SQL语句已经不再起作用,删除多余的SQL语句。

        其次,对于一些业务逻辑性比较强的SQL,我们需要加些适当的注释,便于以后的维

护和理解。

        另外,对于现有的SQL语句已经满足不了需求,需要及时地重新设计和实现。还有就

是一些性能比较慢的SQL语句,需要去进行调优。

       最后,把每个SQL放到恰当的位置存储,组织层次结构清晰,便于其他开发人员查找

和修改。

    SQL的重构,开发人员必须重视起来。我们的SQL代码简洁,清晰,性能优越,是我们开

发人员所追求的目标。
分享到:
评论

相关推荐

    最全面的软件测试面试题

    #### 三十四、集成测试与系统测试的关系 集成测试关注的是模块之间的交互,而系统测试则关注整体系统的功能和性能。 #### 三十五、用户文档的范围 - **用户手册**:提供软件使用的详细指南。 - **快速入门指南**...

    Pro Apache Hadoop, 2nd Edition

    第十四章介绍HBase,这是构建在Hadoop之上的一个NoSQL数据库。它特别适合于需要实时读写访问大量稀疏数据的场景。 **15. 使用Hadoop的数据科学(Data Science with Hadoop)** 第十五章关注Hadoop在数据科学领域的...

    大数据时代人工智能在计算机网络技术中的运用.pdf

    随着网络数据的爆炸性增长,网络管理和安全防护的传统方法已难以满足现代网络的需求,人工智能技术的引入为这一领域带来了新的解决方案和可能。本文将深入探讨人工智能在计算机网络技术中的应用及其重要性,并提出...

    springAOP详解

    - **耦合度高**:业务逻辑和日志记录逻辑紧密耦合,不利于代码的扩展和重构。 **解决方案:** - **引入代理模式**:使用 Java 动态代理技术来创建一个代理对象,该对象能够在调用目标方法前后执行额外的操作(如...

    毕业实习总结-(2500字).doc

    在毕业实习过程中,我深刻体验了信息技术行业的实际操作与理论学习的差异,以下是我对这段实习经历的总结和所学到的知识点。 1. 技术应用与实践:实习期间,我了解到理论知识与实际工作之间的差距。在课堂上,我们...

    电子商务系统分析和设计报告.doc

    通过总结,设计者可以对整个系统有一个全面的认识,同时也能为未来可能进行的系统升级或重构提供宝贵的经验和教训。 综上所述,本文档对电子商务系统的分析和设计进行了系统的描述,从前期的系统分析到后期的系统...

    福建省厦门外国语学校2020届高三语文上学期11月月考试题(含解析).doc

    在这一点上,历史学家和学者的工作与诗人相似,他们不仅需要科学地排序史实,还需要以诗意的方式重建历史,使我们能够更加全面和真实地认识过去。 为了更深刻地理解物品在历史研究中的作用,我们可以借鉴考古学的...

    全国2013年1月自学考试软件开发工具试题.doc

    在Eclipse插件中,用户可以使用Log4E插件来配置项目日志,这对于跟踪和调试错误非常有帮助。 ### 20. Rational Rose的功能 Rational Rose是一款强大的建模工具,支持UML建模、HTML开发、基于组件的开发以及系统...

    数据结构课程设计报告

    数据结构课程设计报告的核心主题是"链表的维护与文件形式的保存...通过这个课程设计,学生能够深入理解链表操作、文件I/O以及数据结构在实际问题中的应用,同时也对字符串比较、循环控制和文件处理有了更深入的认识。

    代码之美 代码之美 代码之美 代码之美

    【代码之美】这一主题深入探讨了编程中的美学与效率,旨在揭示高质量代码的内在魅力和力量。代码之美并不仅仅体现在...每个程序员都应当追求写出这样的代码,因为这不仅是对自己工作的尊重,也是对团队和用户的负责。

    基于S2SH的电子宠物(不完整)

    【标题】"基于S2SH的电子宠物(不完整)" 涉及的技术栈是Struts2、Spring和Hibernate,这三种技术是Java Web开发中的经典组合,通常被称为S2SH框架。以下是对这些技术及其在项目中的应用进行的详细解释。 1. **...

    DevOps on the Microsoft Stack

    通过上述内容的介绍,我们对“DevOps on the Microsoft Stack”这一主题有了全面而深入的认识。无论是在理论还是实践层面,DevOps都已经成为了软件开发和运维领域不可或缺的一部分,而微软的技术堆栈则为DevOps的...

    基于PHP的仿1号店整站源码 for ECSHOP.zip

    2. **ECSHOP框架**:深入理解ECSHOP的架构和工作原理,包括模板引擎、插件机制、支付接口、物流接口等,有助于快速上手和定制开发。 3. **MySQL数据库**:ECSHOP通常会与MySQL数据库配合,存储商品信息、用户数据、...

    PHP实例开发源码—全新哆咪付在线换钱系统PHP源码.zip

    ...这个压缩包包含了一个全新的哆咪付在线换钱系统的源代码,是学习和研究PHP开发支付系统的一个实际案例。...通过对源码的阅读、调试和重构,开发者可以提升自己的PHP技能,并对金融类Web应用的开发有更全面的认识。

    高职护生毕业实习知识管理的探究.doc

    通过这类培训,师生能够对隐性知识有一个全新的认识,并学会如何在实践中捕捉、运用这些难以言传的知识。 为了更好地管理和运用隐性知识,文章建议在高职护理教育中采用情景化教学策略。这种策略主要依靠深度会谈,...

    _ThinkPHP5.0入门实例教程

    ### 第十三章 总结 在总结中,强调了学习ThinkPHP5.0框架的重要性和所学到的知识点。同时也提供了一些建议,鼓励开发者去阅读官方手册,并给出了版权申明。 本教程的内容覆盖了ThinkPHP5.0框架的基础操作到高级应用...

    伟大的悲剧_课件[宣贯].ppt

    他的作品《伟大的悲剧》是基于斯科特遗留的日记、照片和其他记录,通过文学想象力重构了这段历史。课件中列出的一些词汇,如“拽”、“凛冽”、“吞噬”等,可能是在描绘南极严酷环境的场景,而“力竭”、“不乐”、...

    高中历史之历史百科普通高中历史课程标准解读:论无意史料与历史研究一素材

    《高中历史之历史百科普通高中历史课程标准解读:论无意史料与历史研究一素材》这篇文章深入剖析了史料的定义、分类以及对历史研究的影响,为我们提供了关于史料分析与应用的全面认识。 史料是历史研究的基石,它们...

    2014高考英语完形填空抓分练习精品题(56).doc

    里面的东西,出乎意料地保存得非常完好,从报纸、照片、日记、名片、家谱、书籍到数十封信件,无一不在向世人诉说着那个时代的点滴。其中,一封由西奥多·罗斯福亲笔所写的信件,更是让现场的人们为之一振。罗斯福...

    基于SSM使用idea构建的旅游网站---毕业设计.zip

    通过学习和实践这个项目,你可以深入理解SSM框架的使用,提升Java Web开发技能,并对构建大型网站有更直观的认识。同时,对于毕业设计而言,这样的项目既具有实际应用场景,又能够锻炼综合运用所学知识的能力。

Global site tag (gtag.js) - Google Analytics