发表于: 2017-05-27 22:07:56
0 1336
今天完成的事情:
今天听老大讲课,讲到了数据库索引的一些原理,对哪些字段应该建索引,哪些字段不应该建索引,有了更深的理解。
建立索引,实际上是建立一张索引表,索引表对数据进行归类。从而加快搜索。
如对于散列度较低,数据的类型比较少的字段(如性别),不建索引;对散列度高、查询量大的字段需要建索引(如姓名)。
hash是一种算法,将字段中的数据通过hash算法变化后,存在索引表中。
btree算法,是一种树型的算法,通过树形的方式来实现一步一步的检索。
cache中包括了key和value两个字段,以存储数据,key代表搜索的条件,value是搜索的结果;
cache包含两重要的概念:命中率和实效策略
命中率,是一定数量的请求发送给缓存后,缓存中存在的有效请求与所发送请求的比值。
实效策略,缓存的大小是有限的,当缓存达到最大限度的时候,就要采取一定的措施来清理缓存。(如清理最少使用次数的、加载最早的、最长时间未使用的)
select * from table where ID=?语句生成的缓存,具有高命中率的特点。
明天计划的事情:
明天可以完成全部接口文档,然后将所有的文档检查一遍,找出bug,以及刚开始写的时候考虑不周全的参数。
遇到的问题:
收获:
对数据库索引,缓存原理和过程有了更深的了解。
大致了解了dal实现缓存功能的过程,详细的还是没记住。
评论