MySQL索引分类及相关概念辨析

之前的一篇《MySQL索引底层数据结构及原理深入分析》很受读者欢迎,成功地帮大家揭开了索引的神秘面纱,有读者留言说分不清各种索引的概念,希望能讲一下。确实,数据库中索引种类很多,如聚集索引、复合索引、二级索引、唯一索引…你是不是也搞得不是太清楚,那么今天就带大家一起看下索引的分类及相关概念。本文永久链接:https://blog.csdn.net/ibigboy/article/details/124300890

索引分类

从数据结构角度可分为B+树索引、哈希索引、以及全文(FULLTEXT)索引(现在MyISAM和InnoDB引擎都支持)和R-Tree索引(用于对GIS数据类型创建SPATIAL索引);

从物理存储角度可分为聚集索引(clustered index)、非聚集索引(non-clustered index);

从逻辑角度可分为主键索引、普通索引(辅助索引、二级索引等等);

从列的个数角度可以分为单列索引、多列索引(或者叫复合索引、联合索引);

从唯一性角度可以分为唯一索引、非唯一索引。

一个索引从不同的角度看可以属于不同的索引。例如一个索引可以是多列索引也可以是唯一索引,也可以是辅助索引。

从数据结构角度

B+树索引结构

MySQL采用B+Tree作为索引和数据的存储结构,如下图1所示,在这棵树中,非叶子节点只存储索引,而

你可能感兴趣的:(MySQL,MySQL,索引)