Mysql--09

一、索引定义

索引是帮助 MySQL 高效获取数据的有序数据结构。数据库在原始数据之外,额外维护满足特定查找算法的数据结构,这些结构以引用方式指向数据,从而实现高效查询。


二、索引优缺点

表格

优势 劣势
提高数据检索效率,降低数据库 I/O 成本 索引列需要占用额外存储空间
通过索引列对数据排序,降低排序成本与 CPU 消耗 会降低表更新速度(INSERT/UPDATE/DELETE 操作时需同步维护索引)

三、主流索引结构

MySQL 索引在存储引擎层实现,不同引擎支持的结构不同:

表格

索引结构 核心描述
B+Tree 索引 最常见类型,大部分存储引擎都支持,适合范围查询与排序
Hash 索引 底层为哈希表,仅支持精确匹配查询,不支持范围查询
R-tree 索引 MyISAM 引擎专属空间索引,用于地理空间数据类型,使用较少
Full-text 全文索引 基于倒排索引实现,用于快速匹配文档,类似 Lucene/Solr/ES

四、存储引擎对索引的支持情况

表格

索引类型 InnoDB MyISAM Memory
B+Tree 索引 支持 支持 支持
Hash 索引 不支持 不支持 支持
R-tree 索引 不支持 支持 不支持
Full-text 索引 5.6 版本之后支持 支持 不支持
相关推荐
Mahir089 小时前
Redis 与 MySQL 数据同步:一致性保证的完整解决方案
数据库·redis·mysql·缓存·面试·数据一致性
2301_769340679 小时前
如何在 Vuetify 中可靠捕获 Chip 关闭事件(包括键盘触发).txt
jvm·数据库·python
AC赳赳老秦10 小时前
供应链专员提效:OpenClaw自动跟踪物流信息、更新库存数据,异常自动提醒
java·大数据·服务器·数据库·人工智能·自动化·openclaw
·醉挽清风·10 小时前
学习笔记—MySQL—库表操作
笔记·学习·mysql
灵犀学长10 小时前
基于 Spring ThreadPoolTaskScheduler + CronTrigger 实现的动态定时任务调度系统
java·数据库·spring
北秋,10 小时前
PostgreSQL(Postgres)数据库基础用法 + 数字型 + 字符型 完整联合注入实战
数据库·postgresql·开源
m0_5967490911 小时前
JavaScript中手动实现一个new操作符的底层逻辑
jvm·数据库·python
多加点辣也没关系11 小时前
Redis 的安装(详细教程)
数据库·redis·缓存
数据库小学妹12 小时前
数据库连接池避坑指南:告别“连接超时”与“资源耗尽”,让系统跑得更快!
数据库·redis·sql·mysql·缓存·dba
dishugj12 小时前
HANA 数据库备份与恢复
数据库·oracle