mysql索引是在储存引擎上实现的。不同的储存引擎支持的索引也不同。即使是同一个索引,在不同的储存引擎实现的方式也可能不相同。
B-Tree 最常见的索引,支持大部分储存引擎
B+Tree B-Tree的优化版,默认
Hash 适合储存Key-Value型数据,根据Key快速查询Value,不适合根据数据范围来查找数据
R-Tree 空间索引
Full-Text 全文索引
使用索引的场景
无法使用索引的场景
使用索引提示
使用索引 USE INDEX 提示查询使用的索引优化器
忽略索引 IGNORE INDEX 提示查询忽略索引
强制使用 FORCE INDEX 强制使用
复杂的数据查询可以使用生成列建立索引查询,比如json数据等。