发表于: 2017-07-18 16:46:12
1 1206
【今天完成的事情】
继续任务一的学习:
任务一第11步:11.查看深度思考中Mysql相关的一些问题,将自己思考的结果写在日报中,并查阅之前师兄的日报,看看是否有合自己思路接近或者是完全不一致的地方。
已将深度思考中关于Mysql的内容截取出来,下面分条作答:
5.为什么DB的设计中要使用Long来替换掉Date类型?
答:因为Date有固定的格式,Long相对而言更好处理。
6.自增ID有什么坏处?什么样的场景下不使用自增ID?
答:自增ID主要坏处有:1、不利于数据库的迁移 2、自增ID会越来越大,即使删除数据,ID也不会变小
所以在有可能做数据库迁移的情况或者是经常大批量删除又大批量插入的情况下,不要使用自增ID。
7.什么是DB的索引,多大的数据量下建索引会有性能的差别,什么样的情况下该对字段建索引?
答:索引就相当于DB中的目录,会严重影响DB的查询速度,同时索引也会占用不少的内存。
基本上在几百条以上就会有性能的差别。
在下面几种情况下,需要对该字段做索引:该字段经常在WHERE语句中出现,该字段内容重合率很低。
8.唯一索引和普通索引的区别是什么,什么时候需要建唯一索引。
答:唯一索引就是该字段下内容都是不一样的,无重复内容。普通索引允许内容有重复内容。
一般在身份证ID或其他独一无二的字段下需要建唯一索引。
9.如果对学员QQ号做了一个唯一索引,在插入数据的时候,是否需要先判断这个QQ号已经存在了?
答:不需要,Mysql会自动检测,如果已经重复,则插入失败
10.CreateAt和UpdateAt的意义分别是创建时间和修改时间,这两个时间应该在什么情况下赋值?是否应该开放给外部调用的接口?
答:创建时间该在插入数据时赋值,修改时间应该在UPDATE时赋值。
11.修真类型应该是直接存储Varchar,还是应该存储int?
答:修真类型数量较少,可以用int来指代具体类型,不过varchar更加直观
12.varchar类型的长度怎么确定?有什么样的原则,和Text和LongText的区别是什么?
答:varchar长度是字符长度+1.比如“a”的长度为2,那是因为varchar需要多表示终止符的位置。
Text和Long Text区别就在于大小。
13.怎么进行分页数据的查询,如何判断是否有下一页?
答:Mysql中分页查询使用Limit语法,关于判断下一页:总量除以页面数,若余数为零,则为最后一页,无下一页。
14.为什么不可以用Select * from table?
答:会降低查询速度,因为*会将所有字段都查询出来。
任务一第12步.下载Java 7,并配置环境变量,百度搜索一下JDK和JRE的区别,并将结论用自己的话写在日报中。
由于以前已经下载过JAVA,所以下载与配置环境变量可以跳过。
关于JDK与JRE的区别:
通俗简单的讲就是JDK可以实现JAVA程序的开发与编写,JRE可以运行JAVA程序,但不能开发JAVA程序。
【明日计划】:学习了解MAVEN相关知识
【遇到的问题】:今天做思考题的时候由于自己知识的匮乏,有些题目还是无法作答,只能在百度上搜,还好网上资料比较齐全。
【今日收获】:学习了索引的相关知识,阅读了Head FIRST JAVA章节,巩固了基础
评论