发表于: 2017-08-03 21:11:20

5 1071


今天完成的事情:任务一步骤10-16

步骤10插入10条数据,查看有索引和无索引的情况下,Sql语句执行的效率:

查得索引作用:在没有建立索引的时候,mysql需要扫描全表数据,如果建立索引那么mysql只需要扫描一列数据;插入10条数据完成,我只建立了name索引,使用select语句查询name列与其他列无效率区别,查询name列中单个数据与其他列中单个数据无效率区别,考虑是插入的数据太少?或者是我没注意到的地方?(回车后没感觉到数据出现的快慢区别以及下面全都是0.00 sec)

步骤11查看深度思考中Mysql相关的一些问题,将自己思考的结果写在日报中,并查阅之前师兄的日报,看看是否有合自己思路接近或者是完全不一致的地方:

思考5为什么DB的设计中要使用Long来替换掉Date类型?

  昨天日报里得到了师兄解答,date类型在JAVA中后期会被强制转换类型,转换中可能会丢失数据,因为2017-8-2中的“-”在JAVA中有别的意思所以不允   许使用date。

思考6自增ID有什么坏处?什么样的场景下不使用自增ID?

  坏处,我感觉就是不可控。场景,我初学连怎么用都不知道,想不出来啊。

    查得自增ID坏处:1.程序后台添加测试2.旧数据导入3.数据库迁移4.缓存(如,两个库中id都为2时,缓存的时候会覆盖);使用场景没能查到。

思考7什么是DB的索引,多大的数据量下建索引会有性能的差别,什么样的情况下该对字段建索引?

  在步骤10查过了索引,我理解为就是把建立索引的列单独存储,使用时直接从单独存储的列引用,相比不建立索引从全库引用效率高;数据量,我插     入了10条数据用select语句查询有无索引的数据没感觉到差别,猜测引起差别的数据量和电脑性能有关;建索引情况,我认为要对需要经常查询修改的   列也就是常用的列建立索引。

    百度了一下,大概的回答都是数据量以万为单位后有性能差别或者用户提出要求时建立索引。

思考8唯一索引和普通索引的区别是什么,什么时候需要建唯一索引。

  两种索引定义我都不懂,就直接去百度了,得到结果是唯一相比普通在唯一会屏蔽已插入的重复数据并拒绝插入新的重复数据;如果能确定某个数据     列将只包含彼此各不相同的值,在为这个数据列创建索引的时候就应该用关键字UNIQUE把它定义为一个唯一索引。

思考9如果对学员QQ号做了一个唯一索引,在插入数据的时候,是否需要先判断这个QQ号已经存在了?

  通过思考8中查询唯一索引的定义,我认为插入唯一索引的数据时会自动判断是否存在并拒绝插入已存在数据。

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

  我是在插入数据时同时赋值创建时间和修改时间,在修改数据时同时改填修改时间;我认为应该开放给外部调用的接口。

思考11修真类型应该是直接存储Varchar,还是应该存储int?

  int是整数类,Varchar是字符串类,修真类型应该存储Varchar。

思考12varchar类型的长度怎么确定?有什么样的原则,和Text和LongText的区别是什么?

  长度根据输入确定,限制最大长度255字符,大于255转换为text,区别就是最大长  度递增,占用存储空间递增。

思考13怎么进行分页数据的查询,如何判断是否有下一页?

  这个感觉好难,一点思路都没有。

思考14为什么不可以用Select * from table?

  table是关键字

思考题想的脑袋浆糊了,主要还是新手太多不理解的地方。

步骤12下载Java 7,并配置环境变量,百度搜索一下JDK和JRE的区别,并将结论用自己的话写在日报中。

下载配置完成,JDK是编写JAVA程序的程序员用的软件,JRE是运行JAVA程序用的软件。

步骤13下载Maven3,并配置好环境变量。

步骤14下载Eclipse或者是IDEA,配置好Maven。IDEA不用配置Maven,Eclipse也分自带或者外部,推荐使用外部Maven。

步骤15创建一个新的maven项目

步骤16在src/main/java下随便创建一个java文件,clean,install.查看本地的.m2下是否成功看到有Jar包。

明天计划的事情:明天白天有事,计划晚上回来继续研究步骤17
遇到的问题:不知道涉及的知识本想着今天完成步骤18,现在看来步骤17就要卡住很久了,上午做完前面的下午到晚上就研究步骤17,完全是新的东西,连操作的先后顺序都不明白,到现在现在就弄懂DAO模式
1. 一个DAO工厂类;2. 一个DAO接口;3. 一个实现DAO接口的具体类;4. 数据传递对象;根据网上示例尝试新建了几次JDBC程序但没成功,应该是问题出在数据库连接和JDBC驱动,Mybatis还一点没看,继续努力。


收获:通过深度思考对前面以完成任务为主的我对经历过的步骤有了更多的理解,步骤17就让我一团浆糊了,整理收获都迷糊,睡一觉明天从头学习步骤17的知识。


返回列表 返回列表
评论

    分享到