zoukankan      html  css  js  c++  java
  • 项目经历——总结经验

    首先声明:一次公司项目开发,总结遇到的问题和所做的处理方式

    一、需求方面的理解

    最初公司在产品需求方面,进行了多次会议,让开发理解项目的使用流程、大体的了解每个功能进行的功能。对于需求理解方面,要花一定的时间去了解,不要因为是产品设计的功能而不当做事情,因为这个在后面的对开发方面会产生很大的影响。在什么地方不理解,要和产品进行沟通,这样有利于后面开发的时候,不会遇到各种各样的问题。当然问题肯定还是有的,毕竟不可能考虑的面面俱到,肯定会存在比较棘手的问题。比如因为各自的模块不同,不能完全理解其他人的逻辑,当自己开发的模块和别人的模块产生关联的时候,需要知道其他人所开发的表结构的模块。

    二、功能整理

    对于开发的功能:

    1、先理清思路,然后建表的时候,每个字段要保持一致性,一个字段存储的功能一定;

    2、然后在开发功能的时候,理清需要开发这个功能的基本步骤,然后进行开发,最后再加入一些必要的校验。

    3、一定要清楚,这个功能需要涉及哪几张表,存不存在遗漏的表。

    4、功能修改之前,一定要先讨论,再修改,不然会做很多无用过。

    5、对其他开发的模块要有一定的了解,因为你开发的是整体的功能,在做功能修改的时候,很有可能会涉及到之前开发过的接口,如果功能一直,可以进行复用,如果不能复用,可以复制过来,然后进行修改。

    三、代码实现

    逻辑理清之后,就是一些业务代码的实现,如果是做web开发的都清楚,就行理清逻辑之后,对逻辑进行实现。如果实现,看个人对代码的理解,有人喜欢能用一条sql写出来的就不用多条sql写出来。有些则是通过多条sql进行多次调用拼接数据实现。没有固定的实现方式,但是理清楚逻辑很重要。

    四、代码优化

    代码优化主要分为:业务代码中整合的sql太多,造成数据访问慢。类似于最不应该出现的:循环调用SQL。或任何操作都是LEFT JOIN而不进行优化,我们都知道通过JOIN的操作的原理是笛卡尔积,如果关联太多造成数据量太大,不如采用多条sql进行使用。一个是通过两条sql查询两张表中的1000条的数据,一个是通过一张中从1000*1000中查询出需要的数据。两张的数据量大小有待参考。但是数据库的执行速度本身也是比较快的,我只是举个例子,因为我没有把数据库建立连接和关闭连接的时间算上。我举这个例子主要是想说,要保证查询的数据集不要过多。还有就是索引的建立。

    我个人理解的比较浅显的优化方式是:1.降低数据集:代码SQL拆分或删减数据集  2.建立索引:优化代码,根据筛选看建立组合索引还是单独索引;

    SQL优化的策略

    1.根据SQL的条件 判断建立 单列索引或 组合索引

    • 单列索引
    • 组合索引(遵从 最左前缀的原则)
    • 最左前缀 根据B+树索引
    • 最左前缀匹配原则,非常重要的原则mysql会一直向右匹配直到遇到范围查询(>、<、between、like)就停止匹配 https://tech.meituan.com/2014/06/30/mysql-index.html
    • Java的DateTime类型 DATE_FORMAT(t2.fault_occur_time,'%Y-%m-%d %T') aliases,来获取数据类型

    2.SQL优化 减少JOIN的关联的数据,可以在From中增加查询条件,减少查询时间

    3.添加关联索引 需要对需要查找的对象建立索引,(注意::保持编码类型一致,不然无法使用索引)

  • 相关阅读:
    mysql innodb存储引擎和myisam引擎
    php 5.5 xhprof for windows
    sqlserver 2012 部署详解
    Oracle ASM 常用命令
    oracle 基础知识(十四)----索引扫描
    oracle 基础知识(十三)----执行计划
    Oracle DG --检查
    Oracle broker--详解
    初识正则表达式
    python中闭包和装饰器的理解(关于python中闭包和装饰器解释最好的文章)
  • 原文地址:https://www.cnblogs.com/xxxhstar/p/12794653.html
Copyright © 2011-2022 走看看