mysql索引及其实现原理笔记

1、 mysql索引的类型
Mysql主要有以下几种索引类型:FULLTEXT,HASH,BTREE,RTREE。
HASH:只能用于等值查询,不能用于范围查询。
BTREE,RTREE:可用于等值查询、范围查询,BTREE为mysql的默认索引类型。

2、 索引种类
普通索引、唯一索引、主键索引、组合索引、全文索引

3、 B+树结构
说明:B+Tree的根节点分配了大概16kb的空间,大概可以存储1170个索引元素。数据全部存放在叶子节点,一个B+Tree大概可以存储2000多万的索引元素。
mysql索引及其实现原理笔记_第1张图片
4、存储引擎的索引实现原理
mysql索引及其实现原理笔记_第2张图片
mysql索引及其实现原理笔记_第3张图片

5、关于自增主键和uuid
(1)单实例或者单节点组
经过500W、1000W的单机表测试,自增ID相对UUID来说,自增ID主键性能高于UUID,磁盘存储费用比UUID节省一半的钱。所以在单实例上或者单节点组上,使用自增ID作为首选主键。
(2)分布式架构场景
20个节点组下的小型规模的分布式场景,为了快速实现部署,可以采用多花存储费用、牺牲部分性能而使用UUID主键快速部署;
20到200个节点组的中等规模的分布式场景,可以采用自增ID+步长的较快速方案。
200以上节点组的大数据下的分布式场景,可以借鉴类似twitter雪花算法构造的全局自增ID作为主键。

你可能感兴趣的:(数据库,数据库,mysql,索引)