1.什么是索引?
MySQL索引的建立针对于数据查询操作,索引可以大大提高MySQL的检索速度
Mysql目前几种索引类型
- FULLTEXT
全文索引,目前只有MyISAM引擎支持。其可以在CREATE TABLE ,ALTER TABLE ,CREATE INDEX 使用,不过目前只有 CHAR、VARCHAR ,TEXT 列上可以创建全文索引。
用于搜索很长一篇文章的时候,效果最好 - HASH
由于HASH的唯一性及类似键值对的形式,非常很适合作为索引。HASH索引可以一次准确 定位,树结构的话还需要逐级的查询,但不适用于范围查询、排序及组合索引 - BTREE
btree索引:就是一颗二叉树,层数越多,数据量指数级增长,innodb默认支持它 - RTREE
相对于BTREE,RTREE的优势在于范围查找。很少使用,不解释
索引种类
-
普通索引:仅加速查询
-
唯一索引:加速查询 + 列值唯一(可以有null)
-
主键索引:加速查询 + 列值唯一(不可以有null)+ 表中只有一个
-
组合索引:多列值组成一个索引,专门用于组合搜索,其效率大于索引合并
-
全文索引:对文本的内容进行分词,进行搜索
-
空间索引spatial :了解就好,几乎不用
MySQL索引优化规则
https://www.cnblogs.com/hoewang/p/10257190.html
网友评论