数据库索引分类

本文深入探讨了数据库索引的基础原理,包括如何通过缩小数据范围加速查询和将随机事件转换为顺序事件。详细介绍了单列索引(普通、唯一、主键)、组合索引、全文索引和空间索引的特性和应用场景。同时,阐述了不同索引算法如B+树、Hash、全文索引和R树的工作方式及其优缺点。在MySQL数据库中,这些索引类型和算法对于提升查询效率至关重要。

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

底层原理:

1. 通过缩小数据范围,快速查询数据。

2.  把随机事件变成顺序事件。

一. 按照索引作用对象

1. 单列索引
1)普通索引:允许空值,允许重复值
2)唯一索引:不允许重复值,允许空值
3)主键索引:不允许空值,不允许重复值


2. 组合索引(联合索引)
多列值组成一个索引,用于组合搜索,效率大于索引合并。

遵循最左前缀原则
eg:(a,b,c)创建索引,共有(a),(a,b),(a,b,c)三种索引


3. 全文索引
只能在CHAR,VARCHAR,TEXT类型的字段上加该索引。主要用来查找文本中的关键字,而不是直接与字段值进行比较,全文索引需要配合match against使用,而不是一般的where like…


4. 空间索引
是对空间数据类型的字段建立的索引,传统索引的多维化,空间索引的列必须是not null

二. 按照索引算法

1. B+树索引:范围查询快,效率比较平均

2. Hash索引:单条查询快,有hash碰撞问题

3. 全文索引:分词算法

4. R树索引:B+树多维化

三. Mysql数据库中的索引

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
OSZAR »