我们知道mysql索引可以大大提高检索的速度
索引用来快速寻找特定的数据值,如果没有索引,查询时需要遍历整张表。
索引的原理
1、把创建了索引的列内容排序
2、排序结果生成倒排表
3、在倒排表内容上拼上数据地址
4、在查询时,先找到倒排表内容,再取出地址,最后找到数据
btree和hash有什么区别
1、innodb存储引擎默认的索引是btree
2、btree可以用作范围查询,比如 >,>=,<,<=和between,hash只能对等查询 3、hash一次定位数据,btree总是从根到叶子节点,所以hash检索效率高 4、hash不支持使用索引排序 5、hash不支持模糊查询以及最左前缀匹配 6、hash一定要回表查询数据 7、hash等值查询效率不一定比btree高