Mysql
zzf__
这个作者很懒,什么都没留下…
展开
-
1.索引(上)
一、索引的作用提高数据查询效率二、索引模型1.哈希表实现思路:把值放在数组里,用一个哈希函数把key换算成一个确定的位置,然后把value放在数组的这个位置哈希冲突的处理办法:链表优点:由于根据key算出来的哈希值在数组中对应的位置是无序的,所以可以很快就能添加新的值进哈希表中缺点:正是由于key算出来的哈希值在数组中对应的位置是无序的,所以哈希索引做区间查询的速度是很慢的适用场景...原创 2019-06-09 18:05:00 · 211 阅读 · 0 评论 -
2.索引(下)
1.覆盖索引好处:由于覆盖索引可以减少树的搜索次数,显著提升查询性能,所以使用覆盖索引是一个常用的性能优化手段。减少回表次数案例:在一个市民信息表上,是否有必要将身份证号和名字建立联合索引?我们知道,身份证号是市民的唯一标识。也就是说,如果有根据身份证号查询市民信息的需求,我们只要在身份证号字段上建立索引就够了。而再建立一个(身份证号、姓名)的联合索引,是不是浪费空间?如果现在有一个高...原创 2019-06-09 18:06:30 · 133 阅读 · 0 评论 -
3.普通索引和唯一索引,应该怎么选择
1.场景:按照身份证号查姓名由于身份证号字段比较大,我不建议你把身份证号当做主键那么现在你有两个选择,要么给 id_card 字段创建唯一索引,要么创建一个普通索引。如果业务代码已经保证了不会写入重复的身份证号,那么这两个选择逻辑上都是正确的。2.查询过程性能分析先找到数据页假设,执行查询的语句是 select id from T where k=5。这个查询语句在索引树上查找的过程,...原创 2019-06-09 18:08:42 · 277 阅读 · 0 评论