数据库索引分类

底层原理:

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数据库中的索引

 

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数据库索引是一种特殊的数据结构,它可以帮助数据库系统快速查找和访问数据。在数据库中,索引通常被用来加速查询语句的执行速度。常见的数据库索引类型包括: 1. B-Tree索引:B-Tree索引是一种基于树结构实现的索引方式,它能够快速地定位到需要查找的数据。B-Tree索引在大部分场景下都能够提供高效的查询性能,适合于处理大量的随机访问和范围访问。 2. Hash索引:Hash索引是一种基于哈希表实现的索引方式,它能够快速地定位到需要查找的数据。Hash索引通常用于处理精确匹配的查找,例如等值查询。但是,Hash索引不适合处理范围查询和模糊查询等操作。 3. Full-Text索引:Full-Text索引是一种针对文本内容进行全文检索的索引方式,它能够快速地查找包含指定关键词的文本内容。Full-Text索引通常用于处理文本搜索和信息检索等场景。 4. R-Tree索引:R-Tree索引是一种基于树结构实现的空间索引方式,它能够快速地查找包含指定空间范围的数据。R-Tree索引通常用于处理地理信息和空间数据等场景。 5. Bitmap索引:Bitmap索引是一种基于位图实现的索引方式,它能够快速地定位到需要查找的数据。Bitmap索引通常用于处理低基数列(即列值相对较少)的等值查询,例如性别、婚姻状况等。 以上是常见的数据库索引类型,不同的索引类型适用于不同的数据访问模式和场景,开发者需要根据实际需求进行选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值