Mysql-索引
mysql索引(INDEX)定义:
- 帮助mysql提高查询效率的数据结构;
优点:
- 加快访问数据的查询速度;
缺点:
- 维护索引需要消耗数据库资源;
- 所索引要占用磁盘空间;
- 当对表数据进行查询增删改查的时候, 需要维护索引, 速度也会收受到影响;
mysql索引的分类:
innodb:
- 主键索引
- 设定主键后,数据库会自动建立索引,innodb为(聚簇索引);
- 普通索引(单值索引、单列索引):
- 一个索引只包含单个列,一个表可以有多个单列索引(age index);
- 唯一索引:
- 索引列的值必须唯一,但可以允许有空值(只能存在一个null);
- 主键和唯一区别:主键不能为空!!!
- 复合索引:
- 一个索引包含多个列;
- 最左包含原则,所以在查询过程中,mysql会动态的调整查询的字段顺序;
myIsam:
- 全文索引(FULL TEXT,MYISAM引擎才有):
- 在定义索引的列上支持值得全文搜索(类似于 es),允许在这些索引列插入重复的值和空值;
- 全文索引可以在(CHAR、VARCHAR、TEXT)类型上使用;
索引底层原理:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Rain!
评论