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

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

大家好,又见面了,我是全栈君,今天给大家准备了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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • DHCP原理及DHCP服务器的防攻击手段「建议收藏」

    DHCP原理及DHCP服务器的防攻击手段「建议收藏」一、DHCP简介1、产生背景:网络增大,手工配置存在很多问题【人员素质要求高、容易出错、灵活性差、IP地址资源利用率低、工作量大,不利于管理等】2、DHCP相对于静态手工配置的优点【效率高、灵活性强、易于管理等】二、DHCP的原理与配置(一)、DHCP的基本工作过程【发现阶段、提供阶段、请求阶段、确认阶段】如下图:【发现阶段】:在发现阶段,DHCP客户端会以广播的方式给自己所在在广播域…

    2022年6月17日
    33
  • 笔记:网络基础TCP、HTTP、HTTPS(HTTP+SSL)

    笔记:网络基础TCP、HTTP、HTTPS(HTTP+SSL)

    2021年6月21日
    115
  • 第三届“SLAM技术及应用”暑期学校视频分享(完整版)

    第三届“SLAM技术及应用”暑期学校视频分享(完整版)B站录播视频,up主上传资源:视频链接:https://www.bilibili.com/video/BV1Nk4y127qX?p=15所有课件PPT下载:http://www.cad.zju.edu.cn/home/gfzhang/download/2020-SLAM-Summer-School-slides.zip

    2022年9月26日
    0
  • Jlink或者stlink用于SWD接口下载程序

    Jlink或者stlink用于SWD接口下载程序最近要使用stm32f103c8t6最小系统板,直接ISP串口下载程序太麻烦,就想着使用swd接口来调试。结果:通过SWD接口下载程序成功,但调试失败,还不知原因,会的的人麻烦交流一下。SWD接口:3.3VDIO(数据)CLK(时钟)GND1.首先声明jlink和stlink都有jtag和swd调试功能。jlink接口如下:如图,我使用的就是VCC…

    2022年4月25日
    50
  • linux配置ip的方法,linux下配置ip地址四种方法(图文方法)

    linux配置ip的方法,linux下配置ip地址四种方法(图文方法)主要是用第四种方法(1)Ifconfig命令第一种使用ifconfig命令配置网卡的ip地址。此命令通常用来零时的测试用,计算机启动后ip地址的配置将自动失效。具体用法如下。Ipconfigethxipaddnetmaskx.x.x.x。其中ethx中的x代表第几快以太网卡,默认第一块为0.ipadd代表ip地址。x.x.x..x为子网掩码。例如给网卡eth0配置的i…

    2022年5月2日
    50
  • 元 变化

    元 变化

    2021年12月17日
    49

发表回复

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

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