发表于: 2018-01-03 15:01:15
2 399
Task1:
今日完成:
Q9:给数据建立索引:除了给姓名建立索引之外我觉的还可以给I学号建索引,查询资料后准备把name、student_id放一起添加一个组合索引,这样查询时的效率会比建立两个单独索引效率高。此外建表时的name的长度设置的是20,建索引时length可以小于字段实际长度,这里取10。
Q10:插入10条数据
为了方便,用eclipse插入数据,插入的时候只修改name和student_id
然后通过查询语句进行查询操作,用时都是0.00s,不知道是因为数据太少还是数据太相似(插入的十条数据除了姓名和学号有区别,其它一样)又或者是我的操作方式不对,有知道的师兄还望帮忙指出!
Q11:深度思考:
5.为什么DB的设计中要使用Long来替换掉Date类型?
在B站找到了关于这个问题的视频,总结起来就是用Long类型替换Date类型方便JAVA与数据库之间的数据传输以及方便计算时间差。
不过Date类型也有其好处,可以直观地看到日期时间。我觉得再DB设计中可以根据实际情况选择这两种类型。
6.自增ID有什么坏处?什么样的场景下不使用自增ID?
自增ID当删除一行数据时,再次添加不会接着上一行数据计算,而是从添加的次数计算,比如有10行数据(自增的ID是1-10),
如果把ID为10的这行数据删除,再添加一行数据,这时添加的这行数据的ID是11而不是10,中间会产生空缺。此外,如果添加一行数据,
指定了ID是多少,这是如果数据库中有ID相同的一行数据,数据添加不进去。
我认为当ID不需要有序地排列或者ID可能会有重复的情况可以不使用自增ID。
7.什么是DB的索引,多大的数据量下建索引会有性能的差别,什么样的情况下该对字段建索引?
索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。
当数据达到上万条的时候建立索引应该会明显提升查询时的效率,在我的日报里Q11的回答中enroll表有十一条数据,这时有无索引再查询时效率并没有
明显改变。现在的计算机运行速度都比较快了,数据量少的话建索引并不会带来太大好处,甚至会占用内存、加大维护难度。
主键和一些经常被用到的列可以建索引提高搜索和查询的效率,不经常用到的列还是尽量不要建索引吧。
8.唯一索引和普通索引的区别是什么,什么时候需要建唯一索引。
普通索引是最基本的索引,没有任何限制,唯一索引的值必须唯一,但允许有空值。
当被索引的数据列的值必须唯一时使用唯一索引。
9.如果对学员QQ号做了一个唯一索引,在插入数据的时候,是否需要先判断这个QQ号已经存在了?
如果对学员QQ号做了唯一索引,当插入一条新数据时会检查学员QQ号的值是否已经存在,如果是,数据将不会被插入。
10.CreateAt和UpdateAt的意义分别是创建时间和修改时间,这两个时间应该在什么情况下赋值?是否应该开放给外部调用的接口?
createAt与updateAt:当插入一条新数据时,这两个字段应该被同时赋予相同的值,当更新了某一条数据的时候,应该给updateAt赋值。
我觉得不应该给外界调用的接口,只需要存储在数据库中供开发及维护人员使用。
11.修真类型应该是直接存储Varchar,还是应该存储int?
int是整数类型,Varchar是字符串类型。修真类型不可能用"123"来表示,所以应该用Varchar类型。
12.varchar类型的长度怎么确定?有什么样的原则,和Text和LongText的区别是什么?
Varchar为字符串类型,长度0-255,指定长度的时候应该根据实际情况指定,不要太大也不要太小,原则上应该不超过255;
Text长度0~65536,LongText长度0~4294967295,这两个也是字符串类型,但是比Varchar可存储的数据要大得多,适合存储长文本信息。
开发中应该根据实际情况选用,可以提高数据库工作效率。
13.怎么进行分页数据的查询,如何判断是否有下一页?
select * count(*) from table;#查询表中一共有多少条数据
select * from table WHERE … LIMIT n,m; #返回n到m行数据
可以先查询出表中共有多少条数据,然后通过总数据量和每一页所需显示的数据量来得出共有多少页。
14.为什么不可以用Select * from table?
Select * from table应该不是不能用,只是当数据库中数据比较多的话,这样查询出的内容比较多,想要找到自己姓要的比较麻烦,而且还影响查询
效率,所以不需要查出一条数据的所有内容的时候可以有选择地查询列。如SELECT ID,name,student_id FROM TABLE.
Q12:我现在用的是Java8
JDK是Java的开发工具,主要包含了各种类库和工具,也包含了JRE。
JRE是Java程序的运行环境,核心内容是JVM和核心类库。
Q13.
下载maven3
配置环境变量
在命令提示符下验证是否成功
Q14.
把外部Maven添加进eclipse
Q15.创建一个新的Maven项目
Q16.在src/main/java下随便创建一个java文件,clean,install.查看本地的.m2下是否成功看到有Jar包。
创建Java文件简单,但是后半句没看懂什么意思啊。
明日计划:
明天计划把任务一完成把!
问题总结:
大部分遇到的问题我上网查资料能够解决,不过还是有一些搞不懂,有知道的额师兄希望能帮忙解答一下。
主要有两个:
1.我给enroll表中加入了索引"name_stuID(name(10),student_id)",但是查询数据时候没有明显的区别,我猜测是因为数据太少,不知道对不对!
2.Q16中"clean,install.查看本地的.m2下是否成功看到有Jar包"这句话没看懂!
收获:
通过实际去做,算是把自己学过的知识复习了一遍,Java、MySQL、JDBC、eclipse使用,好些东西都忘了。也了解到了Maven,算是温故知新了!
评论