MySQL的索引(聚簇索引和非聚簇索引)

本文介绍了数据库索引的作用,将其比喻为书本的目录,加速查询但降低增删改速度。聚簇索引作为主键索引,直接存储数据,查找速度快但空间占用大;非聚簇索引则需通过主键回表查询,速度相对较慢但空间效率高。适合于查多改少的场景。
摘要由CSDN通过智能技术生成

MySQL的索引:

数据库就像一本书本一样,内容就是数据库保存的数据,而索引则代表书的目录,索引的英文index就是目录的意思,我们可以通过目录迅速的找到你要想要找的内容在哪个位置,这比一页一页的去翻快的不是一个量级的速度,而索引则是和目录同样的效果,我们不需要遍历整个表的数据而是通过索引可以直接获取保存的数据是什么。但是鱼和熊掌不可兼得,既然我们得到了这么快的查询,牺牲的就是我们增删改的速度和空间的消耗,我们可以理解为我们需要增加书本的内容,首先我们需要增加纸张的数量,然后我们需要对目录进行重新修改。而数据库也是一样,当你增加删除一个数据时,需要对整个索引进行修改,这就会导致时间上的增加,也降低了增删改的速度,所以索引一般用于查多改少的环境下。

聚簇索引和非聚簇索引:

聚簇索引在一个表中只能有一个存在,因为聚簇索引就是主键索引,我们知道主键在一个表中只能存在一个,所以聚簇索引在一个表中只有一个。聚簇索引在保存数据的时候是直接保存数据,而非聚簇索引直接保存该数据的主键。

非聚簇索引:在查找数据的时候是先通过索引找到主键,再通过主键去取这个数据,这个过程经历的二次查询,这种情况也被称为回表查询。非聚簇索引相比于聚簇索引查找得速度比较慢,非聚簇索引只需要保存索引列的信息和主键,所以保存的数据少,消耗的空间小。

聚簇索引:因为聚簇索引直接保存数据所以当我们进行查找数据的时候,我们就可以直接取得这个数据,就没有回表查询得操作,速度也就更快,聚簇索引不仅需要保存索引列的信息还需要保存这条数据的完整信息,所以需要保存的数据多,占用的空间也更大。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值