面试题:1.索引的作用2.索引的分类3.索引的底层数据结构4.什么叫回表查询和索引下推?

索引的作用主要体现在以下几个方面:

1.提高查询效率:索引可以大大减少数据库的扫描操作,通过直接定位到需要查询的数据位置,提高查询效率

2.加速排序:索引可以帮助数据库在进行排序操作时,快速定位到排序的数据位置,提高排序的效率。

3.加速连接操作:当数据库进行连接操作时,索引可以帮助快速定位到连接的数据,提高连接的效率

4.保证数据的唯一性:通过在索引上添加唯一约束,可以保证数据的唯一性,避免出现重复数据.

索引的分类:

MySQL中常见的索引类型包括主键索引、唯一索引、普通索引和全文索引等

1.主键索引:主键索引是一种特殊的唯一索引,它要求索引键的值唯一且不能为空。主键索引在数据库中起到唯一标识数据的作用,可以保证数据的唯一性

2.唯一索引:唯一索引要求索引键的值唯一,但可以为空,唯一索引可以提高查询的效率,同时保证数据的唯一性。

3.普通索引:普通索引是最基本的索引类型,它没有任何限制,可以包含重复的值和空值。普通索引可以提高查询的效率,但不能保证数据的唯一性。

4.全文索引:全文索引是一种特殊的索引类型,它可以用于全文搜索。全文索引可以提高搜索的效率,适用于对文本内容进行查询的场景。

MySQL中常用的索引底层数据结构:

主要有B树和哈希索引。B树是一种多路搜索树,能够保持数据有序,适合范围查找;哈希索引则是通过哈希函数将索引列的值映射到索引表中,适合等值查找

回表是指通过查询索引获得记录的主键,然后再通过主键查询数据表获取完整记录的过程。在使用索引查询时,如果查询的字段不在索引中,那么查询结果只包含索引字段,需要通过查询结果中的主键再次查询数据表才能得到完整记录。这个过程就被称为回表。回表会增加查询的时间和资源消耗,应尽量避免。

索引下推是一种优化技术,它将 WHERE 子句中的条件下推到索引层级,减少数据读取的行数,从而提高查询效率。在 MySQL 中,如果索引中包含 WHERE 子句中的所有条件,就可以使用索引下推来优化查询。覆盖索引是指索引能够覆盖查询的所有字段,查询结果可以直接从索引中获得,而不需要回表查询数据表。当查询需要返回的字段都被包含在索引中时,可以使用覆盖索引来避免回表查询,从而提高查询效率。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值