索引(上)

本文详细介绍了MySQL索引的工作原理,包括其如何提高数据检索速度、降低I/O和CPU成本,同时揭示了索引的优缺点,如空间占用和更新性能下降。涵盖了BTREE、HASH、R-tree和全文索引的类型及各存储引擎的支持情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 索引概述

定义:索引是帮助MySQL 高效查询的数据结构

2. 索引优势劣势

优势

        1. 提高数据检索效率,降低数据库的IO成本

        2. 通过索引列对数据进行排序,降低数据排序的成本,降低CPU的消耗

劣势

        1. 实际上索引也是一张表,保存了主键和索引字段,并指向实体类的记录,

            所以索引列也要占用空间

        2. 虽然提高了查询效率,但是也降低了更新表的速度

3. 索引结构

        MySQL 提供了一下4中索引

  • BTREE 索引:最常见的索引类型,大部分索引都支持 B树索引
  • HASH索引:只有Memory 引擎支持,使用场景简单。
  • R-tree索引(空间索引):空间索引是MyISAM引擎的一个特殊索引类型,主要用于地理空间数据类型,通常使用较少(不特别介绍)
  • Full-text(全文索引):全文索引也是MyISAM的一个特殊索引类型,主要用于全文索引,InnoDB从MySQL 5.6 版本开始支持全文索引。
三种存储引擎对各种索引类型的支持
索引InnoDB 引擎MyISAM 引擎Memory 引擎
BTREE 索引支持支持支持
HASH 索引不支持不支持支持
R-tree 索引不支持支持不支持
Full-text5.6 版本之后支持支持不支持

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值