这几天一直在搞一家客户的产品升级动作,数据的转移已经完成大部分,因为升级主要的目标是处理性能问题,所以我针对性的对将要升级的版本进行了一些操作性能检查,真是不做不知道,一做吓一跳,有一个查询选择人员的页面数据(60,000)的结果显示居然花费了50s......oh, my god

没有办法就仔细打开代码开始分析,分析结果是这样的:

1、数据绑定动作做了2次,最要命的是其中一次是直接绑定了所有60,000条数据,这直接将效率下降了40s左右(注:我们系统对于数据的查询采用的是部分绑定,只绑定需要显示的数据),修改后查询需要时间10秒左右。
        2、代码中将数据查询出来后又针对这些数据做了一次循环遍历,将其中3列合并为1列,耗时3s左右......faint again...修改方式不用多说,直接将运算动作放到了SQL中,SQL的运行时间基本无变化。
        3、SQL语句分析完后发现在Where子句中居然存在两个字段直接等于的情况(WHERE PSNACCOUNT.PERSONID = PSNACCOUNT.PERSONID),进行了完全没有必要的数据库运算,去掉后SQL语句的执行再次提高3s,经过代码分析,产生这个条件是原因是 —— 某个公用组件的使用方法不正确......无语

经过这次事实的经验教训,更加让我清楚地认识到了Code Review的重要性,尤其是在软件产品发展的过程中,一个非常简单的道理:Code Review做的越早,产品就可以做得越好!

转载于:https://www.cnblogs.com/minbear/archive/2006/07/25/459707.html

Code Review的重要性相关推荐

  1. 你太菜了,竟然不知道Code Review...

    点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 作者:宝玉   来源:http://1t.click/aA4h 我 ...

  2. 作为CTO,我为什么必须要求代码进行Code Review!

    来源:宝玉 链接:https://cnblogs.com/dotey/p/11216430.html 我一直认为Code Review(代码审查)是软件开发中的最佳实践之一,可以有效提高整体代码质量, ...

  3. Code Review最佳实践

    我一直认为Code Review(代码审查)是软件开发中的最佳实践之一,可以有效提高整体代码质量,及时发现代码中可能存在的问题.包括像Google.微软这些公司,Code Review都是基本要求,代 ...

  4. 你有做 Code Review 吗?

    在代码的编写中有一个很重要的环节,经常会被忽视,那就是 Code Review ,据说在 Facebook.Google 这种互联网大公司,要求每一个提交都必须通过审查,对于每个工程师来说 Code ...

  5. 第四十八期:你太菜了,竟然不知道Code Review?

    我一直认为Code Review(代码审查)是软件开发中的优秀实践之一,可以有效提高整体代码质量,及时发现代码中可能存在的问题. 作者:宝玉 我一直认为Code Review(代码审查)是软件开发中的 ...

  6. 从Code Review 谈如何做技术

    本文转载自 www.coolshell.cn (这篇文章缘由我的微博,我想多说一些,有些杂乱,想到哪写到哪) 这两天,在微博上表达了一下Code Review的重要性.因为翻看了阿里内部的Review ...

  7. [读后感]从Code Review 谈如何做技术

    还有9个电,争取把这篇发出去,里面有太同共鸣,只不过之前没能写出来, 一是文笔有限,总结不够明确,本文至少总结出了我想总结的6个观点,看来总结能力还是要提高: 二是不确认这是对的,所以不敢贸然写出来, ...

  8. Code Review 是软件开发中必不可少的一步

    前言 我一直认为Code Review(代码审查)是软件开发中的最佳实践之一,可以有效提高整体代码质量,及时发现代码中可能存在的问题.包括像Google.微软这些公司,Code Review都是基本要 ...

  9. 代码Code Review想推推不起来怎么办?

    我一直认为Code Review(代码审查)是软件开发中的最佳实践之一,可以有效提高整体代码质量,及时发现代码中可能存在的问题.包括像Google.微软这些公司,Code Review都是基本要求,代 ...

最新文章

  1. Fabric--区块链应用开发
  2. boost::container模块实现分配器特征的测试程序
  3. android webview 抖动,【报bug】关于webview中上下滑动出现抖动的问题
  4. mysql忘记root密码咋办_MySQL忘记root用户密码怎么办?
  5. 弹跳机器人 桌游_MIT机器人轻松搞定桌游叠叠乐:你能玩过它算我输 |《科学》子刊...
  6. M1芯片版mac软件安装出现异常怎么办?解决方法来了
  7. 绕开登录进行爬虫_爬虫小偏方:绕开登陆和访问频率控制
  8. CentOS6.X安装QQ2012
  9. linux 定时器_通过linux源码分析nodejs的keep-alive
  10. 一篇 vSAN 入门,送给大家
  11. poj 1704 HDU-4315 阶梯博弈
  12. Linux系统初学者指南,Linux系统新手入门指南(二)
  13. 大数据领域一些值得读的论文(不断更新
  14. 搭档之家:李佳琦“双11”直播最低价,还是贵了?
  15. win怎么查看显示器大小,显示器是多少寸,查看显示器尺寸
  16. android:关于Handle
  17. Ubuntu 命令行连接wifi
  18. Windows三种文件系统:NTFS、FAT32、FAT16的区别
  19. 计算机网络——网络字节序(大端字节序(Big Endian)\小端字节序(Little Endian))
  20. 前端编程应该了解的数据结构——栈、队列

热门文章

  1. 2020年第十八届西电程序设计竞赛网络预选赛之Problem A 失败的在线考试
  2. ftp 文件服务器预览,web文件服务器 ftp 预览
  3. 深度学习之自编码器(4)变分自编码器
  4. 深度学习(27)随机梯度下降五: 单输出感知机梯度
  5. android progressbar icon,android中ProgressDialog与ProgressBar的使用详解
  6. OpenCV图像处理(Python)学习笔记
  7. Python 安装库的方法及解决pip 安装时速度缓慢的方法
  8. poj1251 Jungle Roads Kruskal算法+并查集
  9. 软核,硬核、固核的区别!
  10. aspx、ashx、asmx文件处理请求效率比较