彻底讲透:讲解MySQL聚集索引与非聚集索引的区别

讲解MySQL聚集索引与非聚集索引的区别:

  • 聚集索引(Clustered Index): 聚集索引决定了表中数据行的物理存储顺序。在InnoDB存储引擎中,主键索引默认就是聚集索引。每个表最多只能有一个聚集索引。聚集索引的叶子节点直接包含行数据,这意味着当你通过聚集索引查找数据时,可以直接定位到数据所在的页。

  • 非聚集索引(Non-clustered Index / Secondary Index): 非聚集索引并不影响数据行的物理存储顺序,它的叶子节点存储的是指向对应行数据的指针(对于InnoDB是主键值)。创建非聚集索引意味着除了数据本身之外,还有额外的空间来存储索引结构。非聚集索引可以有多个,并且可以基于除主键以外的其他列建立。

对话举例:


熊二:光头强,你知道数据库里的那个“聚集索引”吗?我听城里人说,这东西跟图书馆里按书名排序的目录似的!

光头强:嘿,那我懂了!就像咱村图书馆,按照书名首字母排序的就是聚集索引,想找《熊出没全集》,一翻目录就知道在哪排着。

熊二:对啊,那非聚集索引呢?

光头强:非聚集索引嘛,就像是按作者姓氏排序的那个目录,你找到光头强写的书,但只知道它在哪个区,还要再根据书名目录去找具体的书架位置。


创建一个表并说明聚集索引和非聚集索引如何表示:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值