发表于: 2017-08-02 23:10:19
2 1033
1.今日完成
今天主要完成Java小课堂任务,讲解task1深度思考8——“唯一索引和普通索引的区别是什么,什么时候需要建唯一索引”。其主要内容如下:
1)背景介绍
索引(INDEX)是寻找资源中特定项目的一种机制,其实质是一种以特定顺序保存的表。索引的作用是便捷化检索表中的行和列的子集,而不需要检查表中的每行。
2)二者区别
UNIQUE INDEX具备INDEX的全部特点,还作为一种机制限制索引列出现重复值,即设置为UNIQUE INDEX的列或者字段,其对应的值必须唯一。
3)创建UNIQUE INDEX目的
通常,人们创建唯一索引的目的往往不是为了提高访问速度,而只是为了避免数据出现重复。即向表中插入一条记录,DBMS首先检查该记录中被定义为UNIQUE INDEX字段的值是否已经存在;如果是,DBMS将拒绝插入那条新记录。
课后讨论环节,提出如下问题:
a、如果对同一字段建立普通索引和唯一索引,查询会用哪一个,用哪个效率高?
b、索引的设计方法是怎样,B-tree、hash是什么?
有师兄和师姐都给出各自的观点。
2.明日计划
今天晚上抽空重新做了一遍步骤17“编写DAO,使用JdbcTemplate连接数据库,分离Interface和Imple”,明天继续复习mybatis连接数据库。
3.遇到的问题
今天准备小课堂,虽然事先收集和整理了关于索引的相关知识,但在讨论环节对于“唯一索引和唯一约束的区别”、“不同索引执行的优先级顺序”和“针对百万级别及以上数据处理,如何建立索引可以效率”等问题了解不多。
在编写DAO Implement时候,对调用类的方法时候,在命名规则与构造方法的调用上除了一些BUG,尚未掌握其正确用法
4.收获
1)初步接触html文档制作,学会部分HTML标签的用法;
2)对数据库索引的理论知识掌握更多,但是在接下来学习过程中,也要通过有针对性的练习来验证这些理论,加深认识;
3)学习github的一些使用技巧;
4)通过反复练习,对DAO、Implement、interface以及双层架构理解的更加透彻。
评论