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几种