mysql索引

建立索引的目的就是实现快速查询,索引会占有一定的屋里空间。

理解:mysql的索引相当于书的索引,通过书的索引可以直接找到感兴趣的文章在第几页,而不是一个个翻过去。

索引类型

Normal:普通索引

Qnique:唯一索引

Full Text:全文搜索索引 (表示全文收索,在检索长文本的时候,效果最好)

比如:

id  索引类型:Qnique   索引方法:hash    (唯一)

name(商品名称)  索引类型:normal   索引方法b-tree    (小范围)  

des(描述)  索引类型:Full Text 索引方法:b-tree   (范围,如果字数少建议使用normal)

content(文章内容)  索引类型:Full Text 索引方法:b-tree 

索引方法:B-Tree(B树索引),Hash,R-Tree(R*树索引)。

B-Tree

最常见的索引类型,可以范围查询

B-Tree在MyISAM里的形式和Innodb稍有不同:
MyISAM表数据文件和索引文件是分离的,索引文件仅保存数据记录的磁盘地址
InnoDB表数据文件本身就是主索引,叶节点data域保存了完整的数据记录

Hash

特点:仅支持"=","IN"和"<=>"精确查询,不能使用范围查询,索引的检索可以一次定位,效率要高于B-tree

R-Tree

R-Tree在MySQL很少使用,仅支持geometry数据类型,支持该类型的存储引擎只有MyISAM、BDb、InnoDb、NDb、Archive几种

原文地址:https://www.cnblogs.com/wesky/p/10019743.html