发表于: 2017-04-24 23:18:17

6 1633


今天完成的事情:

1:学习了之前赶进度跳过的索引

2:继续复习dao

3:复习单元测试


明天计划的事情:

1:从23条开始,maven命令跑单元测试,能做多少算多少

2:熟悉使用禅道


遇到的问题:

在学索引的地方,喜欢花式提需求,但是不懂怎么去实现,只好老实照任务敲..

自己敲代码实现自己的想法,我觉得这很cooooooool,然而咸鱼阶段还是先跟任务吧,不然又卡住心态炸就麻烦了

收获:

1:

DAO=Data Access Object
意为:数据访问对象
大白话:用来完成数据的增删改查
将连接数据库,对其进行增删改查的函数写在Dao里.Dao算是一个接口,其中类型要一致,排序也要一致
好处:
因为程序经常需要多次去数据库进行操作,要是每次都写连接就太麻烦了,所以直接写在一个类里
用的时候直接调用就好了,比较方便

2:

索引是什么?索引是一种数据结构
索引是存储的表中一个特定的值数据结构
索引是在表的列上创建.
所以索引包含一个表中列的值,并将这些值存储在一个数据结构中
使用索引的全部意义就是通过缩小一张表中需要查询的记录/行的数目来加快搜索的速度
normal索引是最基本的索引,并没有限制,如唯一性
unique索引和normal索引一样,只有一个差异,即索引列的全部值必须只出现一次
full text索引用于mysql全文搜索

3:

索引的常用数据结构:

(1):BTREE
B-Tree是最常用的用于索引的数据结构.
因为它时间复杂度低,查找,删除,插入操作都可以在对数时间内完成.
另一个重要原因是B-Tree中的数据是有序的
(2):HASH
哈希表索引是另外一种可能看到用作索引的数据结构,这些索引通常被称为哈希索引.
使用哈希索引的原因是:
在寻找值时哈希表效率极高.
所以如果使用哈希索引,对于比较字符串是否相等的查询能够极快的检索出的值
哈希索引的工作方式是将列的值作为索引的键值(key),和键值相对应实际的值(value)是指向该表中相应行的指针
因为哈希表基本上可以看作是关联数组
哈希表的缺点:
哈希表是无序的数据结构,对于很多类型的查询语句哈希索引都无能为力.
也就是说,在作为索引的数据结构时,不像BTREE那么灵活


4:

数据库索引是创建在表的某列上的,并且存储了这一列的所有值,但是,数据库索引并不存储这个表中其他列的值.
索引除了存储列的值,还存储着一个指向在行数据的索引,也就是说,name这列的某个值可以描述为("张三",0x82829),0x82829就是包含"张三"那行数据在硬盘上的地址.

如果没有这个引用,就只能访问一个单独的值:"张三",这样就没有意义了,因为就不能获取这一行记录的其他值,例如地址,年龄等


5:

什么是单元测试:

单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证.
比如我们可以测试一个类,或者一个类中的一个方法
为什么要进行单元测试?
减少bug,提高代码质量,使代码易于维护
单元测试有什么好处?
1:它是一种验证行为.程序中的每一项功能都是测试来验证它的正确性.为以后的开发提供支援,为代码的重构提供了保障,可以更自由的对程序进行改进
2:它是一种设计行为.编写单元测试迫使我们把程序设计成易于调用和可测试的,迫使我们解除软件中的耦合.
3:它是一种编写文档行为.它是展示函数或类如何使用的最佳文档.这份文档是可编译,可运行的,并且保持最新,永远与代码同步
4:它具有回归性.自动化的单元测试避免了代码出现回归,编写完成之后,可以随时随地的快速运行测试
//回归测试是指修改了旧代码后,重新进行测试以确实修改没有引入新的错误或导致其他代码产生错误.
//自动回归测试将大幅降低系统测试、维护升级等阶段成本.




参考链接:http://blog.csdn.net/weiliangliang111/article/details/51333169



返回列表 返回列表
评论

    分享到