博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
谈谈一直被开发者们过于在乎的性能问题
阅读量:5938 次
发布时间:2019-06-19

本文共 976 字,大约阅读时间需要 3 分钟。

软件开发者最初为了做出某种功能而努力着。

  当有一天,开发者们掌握了开发的门道,实现功能已经家常便饭了。

  于是人们开始考虑更多问题,性能就是一个问题。

  通常2-4年工作经验的开发者会很纠结这个问题,但由于基础参差不齐,对性能的理解也大不相同。

  那些年也许我们过于在乎性能问题了。

误区一:O/RM工具影响性能

  发现很多人喜欢拿O/RM工具讨论性能,害怕引入ORM工具以后带来损失性能的问题,

  不过据我所知目前一些主流的ORM工具性能都半斤八两,ORM工具之间的比较不是性能问题,而是使用习惯的问题。

  ORM与原生ADO.NET比较,肯定会损失一定的性能,但是带来了提高开发效率的优势。

  据我所知,很多同行做着的OA、ERP什么的系统用户数量都不多,

  过于计较性能问题,那就是拿5%不到的特殊情况,拒绝大多数情况提高开发效率。

  没有人说用了ORM就一定要每个地方都用ORM到底。

 误区二:存储过程可提高性能

  采用存储过程本身没有什么问题,过于频繁地用存储过程,调试就会比较烦。

  1、程序里加断点,然后变量复制到存储过程里加断点调试。

  2、过于依赖存储过程,数据库里包含业务逻辑,业务逻辑就分散在程序与数据库,代码可读性损失。

  3、调用存储过程的确让很多SQL语句变成了一个存储过程名和参数,减少了网络传输,但很多情况下不需要这点性能。

  4、业务逻辑都写在存储过程里了,用面向对象语言的话就当做面向过程语言用了,对开发功能复杂的项目比较不利。

误区三:大数据性能问题

  只要接触到几百万或者几千万就认为是大数据,有些人甚至以为MSSQLSERVER数据库碰到千万级的就得挂了。

  其实不然,如果每个月以百万级的数据增长,那么对查询而言这些都是小数据,利用分区与查询约束还是比较容易解决的。

  而用同样的方法,MSSQLSERVER也能处理超越千万级的数据。

  数据库真正的性能问题在哪里?

  真正的性能问题从宏观上讲我认为是数据库设计问题,微观上则是SQL调优。

总结

  不该以性能为理由拒绝ORM工具,也不该滥用存储过程。

  关注性能从设计阶段开始,不可过于纠结性能问题而损失开发效率。

原文发布时间为:2018-06-7

本文来自云栖社区合作伙伴“”,了解相关信息可以关注“”。

转载地址:http://fvttx.baihongyu.com/

你可能感兴趣的文章
把现有的typesctipt+react项目接入到electron
查看>>
【Docker实战之入门】Dockerfile详细分析:构建docker镜像(4)构建动态网站WordPress...
查看>>
小程序二次贝塞尔曲线,购物车商品曲线飞入效果
查看>>
微信小程序
查看>>
常用的正则表达式分享
查看>>
Spring、Spring Boot和TestNG测试指南 - 测试关系型数据库
查看>>
2017-07-19 前端日报
查看>>
GraphQL 进阶: 基于Websocket的实时Web应用开发
查看>>
直播卡顿原因详解及优化
查看>>
Audio: 如果你愿意一层一层剥开我的心
查看>>
SSE eventSource简介
查看>>
教你写一个可以找到.m文件所有接口名的命令行工具
查看>>
css3效果: animate实现点点点loading动画效果(一)
查看>>
我的世界:一个村落(其一)
查看>>
SKChoosePopView 一个HUD风格的可定制化选项弹窗的快速解决方案
查看>>
(二十)java多线程之ScheduledThreadPoolExecutor
查看>>
【译】码农生涯十六条不要
查看>>
sublime快捷键
查看>>
认识jQuery及jQuery选择器
查看>>
动态密码算法介绍与实现
查看>>