发表于: 2017-10-04 00:02:31
2 947
今日完成的事情
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
收获
熟悉了MySQL的语法
学习了索引相关的知识
评论