的一个折衷互联网工程开发效率和系统性能

的一个折衷互联网工程开发效率和系统性能

大家好,又见面了,我是全栈君,今天给大家准备了Idea注册码。

问题起源


    今天,leader看了我写的代码。提了一个建议。

我在写p2p业务系统的时候,数据库底层使用了“关联查询,left-join”,leader认为这样性能不好。

他建议,不使用关联查询,每次都是单表查询,假设须要查询关联数据。添加一次查询,然后再把两次甚至多次的数据合并。


即通过程序而不是sql,合并数据。

   他的思考逻辑:
   他之前在淘宝工作过。web系统对性能要求比較高。Web前端等程序能够使用分布式,量再大,多台应用server就能够应付了。而数据库,最多也就是主从结构。非常easy成为瓶颈。

使用关联查询,比較耗费性能,并且訪问量大的时候,不够稳定。
   他的观点:数据库的核心作用是,提供存储和查询服务,left join等高级查询不是数据库的强项。假设仅仅是用单表。每次都非常快,并且有保障,出错的可能性比关联查询小非常多,并且单表查询easy做缓存,建索引。


  我的思考逻辑:
   我写的程序基本不考虑性能问题。由于我还没有遇到过性能瓶颈问题,可能是我參与的大多数小訪问量的业务系统,而非海量普通消费者用户的大型互联网系统。 
   敲代码,最主要的原则是,保证按时交付、质量过关、可读性强、easy维护。

   假设自己去合并多次查询的数据,要多写不少Java代码,显然会添加工作量。


  取舍
  我们正在开发的是p2p系统,假设客户买我们的系统。运营得比較好的话,量也会比較大。为了应对潜在流量大的问题。开发还是须要注意性能。所以,我须要重构代码。这个合并数据的逻辑不难,用node.js敲代码的时候,写过。把公共的合并逻辑或者方法。总结下来或写成工具方法。花的时间也能够少点。

  一点实际经验
  从过去的开发经验来看。我也非常仅仅想写“单表查询的sql语句” 。非常easy写。更关键的是。针对一张表的CRUD操作,用Hibernate和Mybatis等数据库框架,能够非常easy实现。多张表的CRUD API非常难写。

  扩展话题
象性能与效率的取舍等问题 ,在我看来都是一个“标准”或者“最佳实践”的问题。

我想把这5年多学习Web开发的经验,总结下,比方前端用哪些技术、后端Java用哪些框架、管理代码、打包部署 、备份、站点监測。


 为什么想这么做呢?反复的问题,标准话之后。工作会轻松很多。
此外。尽管作为一个技术人员,我还是想通过敲代码搞点外快的。 假设常见的功能,我都能够非常快地实现。那么在同样的条件下。我能够实现很多其它的系统,仅仅要有一个能够卖出去,比方5万一套。也是非常多的。

这些都是我的一点想法,希望有一天能够实现,哪怕仅仅是一小部分。 

小雷FansUnion-博学的互联网技术工作者
2014年10月30日
湖北武汉 

版权声明:本文博客原创文章,博客,未经同意,不得转载。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/117436.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Python3.7 环境下安装wxPython教程

    Python3.7 环境下安装wxPython教程python3.7环境下安装wxPython教程我的环境安装步骤运行代码和结果我的环境我的安装环境:系统:Windows10专业版;Python版本:Python3.7;wxpython版本::wxPython4.0.6;安装步骤下载wxpython安装包确定你的Python版本,比如我这里是Python3.7,到官网https://pypi.org/proj…

    2022年5月11日
    41
  • 安全 | 几种wifi密码破解的思路

    从一个攻击者的视角,多种方案,讲述破解一台路由器进而控制对方网络的过程,以此提醒广大用户,提高安全意识,做好安全措施。

    2022年4月13日
    169
  • matlab用插值法plot,Matlab插值法

    matlab用插值法plot,Matlab插值法实验目的:1.Matlab中多项式的表示及多项式运算2.用Matlab实现拉格朗日及牛顿插值法3.用多项式插值法拟合数据实验要求:1.掌握多项式的表示和运算2.拉格朗日插值法的实现(参见吕同富版教材)3.牛顿插值法的实现(参见吕同富版教材)实验内容:1.多项式的表达式和创建;多项式的四则运算、导数与积分。2.用Matlab实现拉格朗日及牛顿插值法。3.用多项式插值法拟合数据。实验步骤:1.多项式的…

    2022年6月4日
    36
  • 软件设计之——“高内聚低耦合”

    软件设计之——“高内聚低耦合”

    2021年10月10日
    96
  • led显示屏坏点(显示器坏点多少算正常)

    LED显示器的坏点相关问题   声明:本文为博主学习时的摘录,部分内容来源于网络,如有侵权,请联系博主删除,在此感谢分享这些内容的原作者,Helpingeachother,makeprogresstogether1,名称概述:  (1) 坏点   在白屏情况下为纯黑色的点或者在黑屏下为纯白色的点。在切换至红、绿、蓝三色显示模式下此点始终在同一位置上并且始终为纯黑色或纯白色…

    2022年4月10日
    1.3K
  • 云计算与边缘计算协同 九大应用场景

    云计算与边缘计算协同 九大应用场景来源:物联网报告中心前言2019年边缘计算备受产业关注,一度引起了资本市场的投资热潮,很多人把2019年称作边缘计算的元年。理性来看,造成如此火爆局势难免有…

    2022年6月22日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号