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 版本之后支持 支持 不支持
相关推荐
lilian23310 小时前
Harmony os 技术实战|拼豆制图27:用单字符编码承载 50 张 70×70 图纸
前端·数据库·华为·harmonyos
皮卡丘不断更10 小时前
手机优先的 Personal Ledger:把账目、学习和复盘放到同一个入口
数据库·sqlite·fastapi·开源项目·个人效率
保卫大狮兄11 小时前
设备管理从台账到报废,完整生命周期一次讲清
数据库·设备管理·设备
数据安全技术观察12 小时前
数据动态脱敏:让脱敏策略跟着数据目录走
大数据·网络·数据库
小席是个热心肠12 小时前
Redis的自我学习
数据库·redis·学习
2601_9657984712 小时前
Salient Theme Setup Guide for Fast Creative WordPress Sites
数据库·web3·php·wordpress
@Mike@13 小时前
09-数据库学习笔记(数据库索引与过滤器)
数据库·笔记
程序员夏洛14 小时前
MySQL 中 count(*)、count(1) 和 count(字段名) 有什么区别?
数据库·mysql
Wang's Blog15 小时前
PostgreSQL笔记34:索引优化策略全景解析——从B-tree到HOT的核心原理与实践
数据库·笔记·postgresql
l12586515 小时前
# RAG向量数据库优化实战:HNSW索引调参与生产级性能设计
数据库·python·mysql·langchain