索引:
一、B+树(多路平衡树)
叶子节点是双向链表
二、hash
将索引通过hash后存入,存的是存储物理地址,通过物理地址去搜索,效率极高
缺点:没办法范围查找,比如id>10
存储引擎:
一、myisam
索引和数据分在2个文件
索引表存的是内存地址
通过存储地址去数据表找到对应数据
二、Innodb(聚集索引,聚簇索引)
索引和数据分在一个文件上
叶子节点上存的是整条数据
尽量有唯一索引并且用自增整型(如果没有,mysql会自动生成一个自增的唯一索引列)
1、插入时直接尾插入就可以了,快捷
2、如果中间插入,还可能产生分裂,影响性能
3、比较大小速度更快、占用空间小
联合索引
叶子节点上存的是id
需要找到id后回表去查找数据