[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. this问题

    this问题 弹出层是一种很常见的页面显示部件,利用require js的模块化可以使部分功能组件重用性更高.以弹出层为例,探讨关于this的问题 首先来看这样一段代码 Html部分代码 <bo ...

  2. 史上最强学生管理系统之IO版

    既上一博发布的ArrayList版本之后,新一版的IO版又来了,其实只是在上一个版本里面添加了IO流的内容,将存入更改的信息更新到了文件中而已,这个版本网上仍然很多,本人只是在某些方面稍加修改,因为自 ...

  3. svn协同开发下的dll版本管理最佳实践

    作为一名开发人员,常常碰到的一个问题是,当使用svn签出一份最新代码时,经常不能一次编译通过,导致花费大量时间去解决编译问题,这里碰到的问题一般可以分为三类: 1. 由于提交代码的开发人员失误,忘记提 ...

  4. OpenCASCADE 公众号

    OpenCASCADE 公众号 eryar@163.com 今天也注册了一个微信公众号,以后会在微信公众号中发表OpenCASCADE学习文章,Blog会与微信公众号同步.下面是微信公众号二维码,欢迎 ...

  5. C# 委托高级应用----线程——创建无阻塞的异步调用(二)

    了解IAsyncResult 现在我们已经了解,EndInvoke可以给我们提供传出参数与更新后的ref参数:也可以向我们导出异步函数中的异常信息.例如,我们使用BeginInvoke调用了异步函数S ...

  6. 【HTML5】Canvas

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  7. mysql-5.7.17.msi安装

    mysql-5.7.17.msi安装,跟着截图摩擦,一步一步是爪牙,是魔鬼的步伐 开始: 可以创建其他用户 我自己改了日志名

  8. redis中使用 check-and-set 操作实现乐观锁

    WATCH 命令可以为 Redis 事务提供 check-and-set (CAS)行为. 被 WATCH 的键会被监视,并会发觉这些键是否被改动过了. 如果有至少一个被监视的键在 EXEC 执行之前 ...

  9. MySQL 加锁处理分析-转载

    来自何登成的技术博客     1.1    MVCC:Snapshot Read vs Current Read    2 1.2    Cluster Index:聚簇索引    3 1.3     ...

  10. 数据库SQL优化

    1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索 ...