聚簇索引和非聚簇索引的简单理解

假设我们有一张表,表里面有俩个字段 id int,name varchar,其中id是主键,那么这张表的聚簇索引和非聚簇索引有什么区别呢(为了方便我以表格的形式来展示,实际上是树形结构)

非聚簇索引的样子:

id 1 2 3
磁盘地址 数据1的地址 数据2的地址 数据3的地址

非聚簇索引二级索引的样子: 以name为索引

name 张三 李四 王五
磁盘地址 张三的地址 李四的地址 王五的地址

非聚簇索引和二级索引比较相似通过索引列找到数据的实际磁盘地址,再通过磁盘地址找到数据;

聚簇索引的样子:

id 1 2 3
row数据 1,张三 2,李四 3,王五

聚簇索引二级索引的样子: 以name为索引

name 张三 李四 王五
row数据 张三,1 李四,2 王五,3
聚簇索引的叶子结点上存储着列数据,通过主键找到叶子后就能拿到数据了。 聚簇索引的二级索引则存储列和主键,通过索引列找到主键之后,在去主键聚簇索引上找到相关的列数据
注:聚簇索引和非聚簇索引的区别远不止这些,以上只是个人的一点点理解,如有错误请指正
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容