发表于: 2017-10-04 00:02:31

2 948


今日完成的事情

1.将表导出为sql文件

导出 在命令行环境下用mysqldump 

删除表

恢复 使用source

2.给姓名建立索引(用的alter table 也可以用create index http://www.cnblogs.com/IT-Monkey/p/3293131.html

还可以给哪些数据建索引?

建索引的目的是在大量数据中快速的查询到想要记录,所以针对可能频繁查询的内容,可以建立索引,如本表中的“QQ”、“学号”也可以用于建立索引。

3.插入十条数据比较有无索引的区别

插入十条数据

无索引搜索结果

有索引搜索结果

数据量太少无明显区别,体现不出索引的优势

4.深度思考

(1)为什么DB的设计中要使用long型来替换掉date型?

a. 有唯一性,避免时区造成的问题

b. 方便进行计算,如增加时间,计算时间差等

(2)自增ID有什么坏处?什么样的场景下不使用自增ID?

使用自增ID时,若有合并表的情况出现会导致主键重复的情况

数据量大的时候不使用自增ID;使用分布式数据库时不用自增ID;参考自下:

http://udn.yyuap.com/forum.php?mod=viewthread&tid=21697

(3)CreateAt和UpdateAt的意义分别是创建时间和修改时间,这两个时间应该在什么情况下赋值,是否应该开放给外部调用的接口?

当添加新的记录时,要给createAt和UpdateAt赋值,当更新数据的时候给UpateAt赋值;不需要完全开放,只需要开放查询的权限。

(4)修真类型应该是直接存储Varchar,还是应该存储Int?

存储Int,因为修真类型只有几个,约定好对应关系就行。

(5)为什么不可以用select * from table?

因为 * 表示表中的所有列,相当于查全表,当数据量大时效率低,最好指定在哪些列里面查询

明日完成的事情

1.学习JDK和JRE的区别

2.下载配置好Maven

3.创建一个Maven项目

4.继续学习索引的知识,回答深度思考的问题

遇到的问题

1.导入时出错,发现是正反斜杠的问题,资料总结如下:

http://www.cnblogs.com/codingmengmeng/p/6179822.html

收获

  1. 熟悉了MySQL的语法

  2. 学习了索引相关的知识


返回列表 返回列表
评论

    分享到