[toc]

数据库

  1. for循环里写操作数据库是大忌!尤其是这种情况:一次查询的结果中有一个记录还要继续展开查询,两次查询的记录均不止一条。就很容易写成for循环里操作数据库了。解决办法就是循环里的每条sql语句结果合并集体查出放到内存中,简而言之就是用空间换时间。(当然不是绝对,这也是空间换时间~
  2. distinct关键字要少用,因为内部实现是先对表排序,所以如果不distinct时重复数据较多的话,这种查询就得要想办法加条件使得表变小。
  3. 对于非一对多关系的两个表(左、右)外连接的主次表是有讲究的。A左连接B和B左连接A有可能效率不同,因为产生的记录数量不同。(外连接是指定的左表的所有行,而不仅仅是连接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。
  4. 我们的项目中基本每个实体表都有两个属性IsUse和IsDel,基本上做连接操作时都要加上两个and条件,前者为1后者为0。这样就可能产生一种情况,如果A、B是从属关系,理论上A中的某条记录IsDel是1,那么B对应的属下记录的IsDel也应该是1,但要防止脏数据,所以这时各条IsUse和IsDel条件的位置就很重要了。稳妥的办法是放到where语句中而不是作为连接的条件(on),或者养成从主次表对应从属表,即大表作为主表。
  5. 上面那点可能有点拗口,其实就是想说明一个道理:业务虽然不是什么技术性的活儿,但是很讲究逻辑,特别细节。这也许就是bug永远存在的原因之一吧,小小的一个细节看似没关系,但是因为其他原因导致脏数据产生了连锁反应,需要通过更严谨的逻辑去排除这些数据。
  6. 让一列数据赋值到另一列上,需要产生一个新表。例如让A的a列等于b列,则要做自身连接,而不能直接的a=b。
  7. 以前在书上看到sql语句总用大写其实是有规律的,就是关键字大写,这样是为了方便区分。
  8. 写多表连接的sql语句时可以采用分而治之的方法,但是这要求非常熟悉简单的sql书写,并且写之前应该明确已知条件和查询的结果。(套用句式:通过什么去查找什么)

一些感想

  1. bug永远都改不完,我想归根到底是一开始规划不可能十全十美,导致后期迭代的时候有些东西就改不了,因为牵一发而动全身,这也正是重构出现的原因吧。
  2. 在校学习的内容确实也是工作的内容,所谓工作经验可能更多是对知识运用的习惯(如命名风格,代码风格等),恰恰这一点能看出一个人高下。
  3. 开始进入第一个瓶颈期了:可以做简单的任务,但是不愿意学习新的东西了。其实也是自己一直以来的一个缺点,沉不下心去深入了解一个知识,心太杂了,缺点什么呢?
  4. 一直说自己细心,当写sql语句时就发现并不是这样的,还经常开小差。
  5. 自己还很容易受外界声音干扰,稍微有些声音就不能专心自己的事。

一些憧憬

  1. 今天终于看到了所谓的服务器了~应该是Windows server系统。突然想学学什么是把服务放在云上以及怎么做,或者说是搭服务器,也许毕设就这个了~
  2. 接口太没技术含量了,我想学其他更高级的!但是又怕连接口都没熟悉,写个毛啊?
  3. 尽快通懂23种设计模式,我希望是工作3个月能完成。

2017-07-18&19的更多相关文章

  1. 日本IT行业劳动力缺口达22万 在日中国留学生迎来就业好时机 2017/07/18 11:25:09

    作者:倪亚敏 来源:日本新华侨报 发布时间:2017/07/18 11:25:09     据日本政府提供的数据,日本2018年应届毕业生的“求人倍率”已经达到了1.78倍.换言之,就是100名大学生 ...

  2. Python array,list,dataframe索引切片操作 2016年07月19日——智浪文档

    array,list,dataframe索引切片操作 2016年07月19日——智浪文档 list,一维,二维array,datafrme,loc.iloc.ix的简单探讨 Numpy数组的索引和切片 ...

  3. 九月 26, 2017 10:18:14 上午 com.sun.jersey.server.impl.application.RootResourceUriRules <init> 严重: The ResourceConfig instance does not contain any root resource classes.

    Tomcat启动错误:九月 26, 2017 10:18:14 上午 com.sun.jersey.server.impl.application.RootResourceUriRules <i ...

  4. 2017.7.18 linux下ELK环境搭建

    参考来自:Linux日志分析ELK环境搭建  另一篇博文:2017.7.18 windows下ELK环境搭建   0 版本说明 因为ELK从5.0开始只支持jdk 1.8,但是项目中使用的是JDK 1 ...

  5. 2017.7.18 windows下ELK环境搭建

    参考来自:Windows环境下ELK平台的搭建 另一篇博文:2017.7.18 linux下ELK环境搭建 0 版本说明 因为ELK从5.0开始只支持jdk 1.8,但是项目中使用的是JDK 1.7, ...

  6. 湖南师范大学计算机基础课网络教学平台 版本 V2.0(2017.9.18)

    湖南师范大学计算机基础课网络教学平台 版本 V2.0(2017.9.18) 开发环境: 开发工具:VS2013,数据库:Sqlserver2012 开发语言:Asp.net MVC5 ,界面UI:jq ...

  7. 2021.07.18 P2290 树的计数(prufer序列、组合数学)

    2021.07.18 P2290 树的计数(prufer序列.组合数学) [P2290 HNOI2004]树的计数 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 重点: 1.pru ...

  8. 2018.07.18 [NOI2018]归程(return)(kruskal重构树)

    传送门 新鲜出炉的noi2018试题. 下面讲讲这题的解法: 首先要学习一个叫做kruskal重构树的东东. 听名字就知道跟kruskal算法有关,没错,原来的kruskal算法就是用并查集实现的,但 ...

  9. 团队作业4——第一次项目冲刺(Alpha版本)2017.11.18

    1.当天站立式会议照片 本次会议在5号公寓312召开,本次会议内容:①:熟悉每个人想做的模块.②:根据老师的要求将项目划分成一系列小任务.③:在上次会议内容完成的基础上增加新的任务. 2.每个人的工作 ...

  10. 毕向东_Java基础视频教程第19天_IO流(18~19)

    第19天-18-IO流(流操作规律 - 1) 通过三个步骤来明确"流操作"的规律: 明确数据流的"源和目的" 源, 输入流: InputStream/Reade ...

随机推荐

  1. 关于 getsockname、getpeername和gethostname、gethostbyname

    一.gethostname,gethostbyname的用法 这两个函数可以用来获取主机的信息.gethostname:获取主机的名字gethostbyname:通过名字获取其他的信息(比如ip) 1 ...

  2. 自学Python2.3-基本数据类型-元组tuple(object) 方法

    Python tuple方法总结 一.元组的简介 1.元组与列表一样,也是一种序列,但是唯一不同的元组是不能修改的 2.元组的元素不可修改,但是元组元素的元素是可以修改的 3.元组通过()括起来表示 ...

  3. 设备指纹识别之User Agent 解析

    设备指纹识别之User Agent 解析User Agent 解析 zoerywzhou@163.com http://www.cnblogs.com/swje/ 作者:Zhouwan 2017-4- ...

  4. 记一次诡异的jetty问题

    问题出现 用eclipse开发,用jetty跑某个项目时,如果是jsp页面,会出现以下错误. ------------------------------------------------ java ...

  5. android 网络请求Volley的简单使用

    下载到本地jar包或者在线导入,jar地址:链接:http://pan.baidu.com/s/1gf3VZAb 密码:mmye //定义变量 private RequestQueue mQueue= ...

  6. JavaScript基础5——关于ECMAscript的函数

    ECMAScript的函数概述(一般定义到<head>标签之间) (1)定义函数,JavaScript一般有三种定义函数方法: *第一种是使用function语句定义函数(静态方法) fu ...

  7. iOS OC Swift3.0 TableView 中tableviewcell的线左边不到边界

    Swift 3.0 func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt index ...

  8. 724. Find Pivot Index

    Given an array of integers nums, write a method that returns the "pivot" index of this arr ...

  9. Add to List 349. Intersection of Two Arrays

    Given two arrays, write a function to compute their intersection. Example:Given nums1 = [1, 2, 2, 1] ...

  10. [置顶] MVC输出缓存(OutputCache参数详解)

    1.学习之前你应该知道这些 几乎每个项目都会用到缓存,这是必然的.以前在学校时做的网站基本上的一个标准就是1.搞定增删改查2.页面做的不要太差3.能运行(ps真的有这种情况,答辩验收的时候几个人在讲台 ...