发表于: 2018-03-11 20:36:29
3 637
今日进度:
1.建立索引:
2.关于其他索引,如学号,id,这些具有目的性的直接搜索可以建立索引,而立愿,性别则并没有建索引的必要,关键词(可能常被拿来搜索的项目)建立索引。
3.在关于搜索的时候,去查了一下啊索引的使用,源自简书
https://www.jianshu.com/p/2b541c028157
但是,出现了一个奇特的问题是,无论有无索引,搜索时间都是0.00sec(????这个是我电脑太强吗?不应该吧)(特别是我已经将记录加至120+)
并无明显差别!!!!!
4.关于深度思考问题:
4.1:为什么DB的设计中要使用Long来替换掉Date类型?自我思考:据悉java的时间api相对混乱,而数据库常常相互交互,可能long类型便于保存与传输(好像在1.8进行过优化)解答连接之一:
http://www.php-master.com/post/324384.html
4.2:自增ID有什么坏处?什么样的场景下不使用自增ID?自我思考:合并数据库可能出现问题,因为id相同而导致数据库混乱。解答连接之一:(简书的一个师兄)
https://www.jianshu.com/u/ba1d04276512
4.3什么是DB的索引,多大的数据量下建索引会有性能的差别,什么样的情况下该对字段建索引?自我思考:DB的索引是一种快速搜索的方式,数据量并不确定,百条左右并无差别可能在专门的服务器上数万条都不会有问题,但是建立索引肯定能提升性能的利用率。在数据量越大,数据查询越多的地方,越应该重视索引。解答连接:
https://tech.meituan.com/mysql-index.html
尚未完全理解!应该常回顾!(优化问题:https://www.zhihu.com/question/19719997)
4.4唯一索引和普通索引的区别是什么,什么时候需要建唯一索引。自我思考:字面理解就是索引的值应该是唯一的,结果只能有一个。解答连接:
https://www.jianshu.com/p/2b541c028157
4.5如果对学员QQ号做了一个唯一索引,在插入数据的时候,是否需要先判断这个QQ号已经存在了?自我思考:如果存在应该在插入时直接失败(?),所以我觉得没必要,遍历数据库在大量数据时候会非常影响性能的。解答连接:
https://ptteng.github.io/PPT/PPT-java/ppt.html#/10
4.6CreateAt和UpdateAt的意义分别是创建时间和修改时间,这两个时间应该在什么情况下赋值?是否应该开放给外部调用的接口?自我思考:字面理解赋值时间,而且应该给外部调用使用,不然无法更新时间。
4.7修真类型应该是直接存储Varchar,还是应该存储int?自我思考:如果用数字代替类型,那么int应该更省空间,而用字符的话应该是用varchar
4.8varchar类型的长度怎么确定?有什么样的原则,和Text和LongText的区别是什么?=-=这个直接贴答案了:
varchar长度可变,在255个字符内。
在字符超过255时,转变为text。
text和longtext区别在于text最大2^16,longtext达到2^32个字符。
4.9怎么进行分页数据的查询,如何判断是否有下一页?
解答连接:https://www.jianshu.com/p/1daccf24240c(没有如何判断下一页的问题,自我思考为在进行提取数据的时候提取页数进行判断是否为最后一页。)
4.10为什么不可以用Select * from table?自我思考:遍历全表,效率极低。
4.6-4.8+4.10的解答连接:http://blog.csdn.net/creatill/article/details/78817748
明日任务:
下载并配置maven3(已经下载idear和配置完成javajdk),争取完成15步。
问题与收获:
今天问题其实并没有多少,之所以进度慢,在csdn看到了一些博客,所以=-=看的多了,进度慢了,虽然进入java步骤了,但是对于sql函数还没有很理解,对于sql的搜索原理和索引优化并没有理解好,在之后的实践中继续学习吧。
评论