关于索引的整理

一.索引是干嘛的

        数据库索引是一种数据结构,用于提高数据库表的查询效率。索引存储特定列(或着多列)的值和对应行的指针,使得数据库系统能够更快速地定位和访问数据行。查询的时候可以减少查询时间。

二.索引通过哪些方法让数据访问速度加快的

1.快速定位数据行:

        MySQL使用B-tree 索引和哈希索引来提高查询速度,在查数据的时候可以直接定位到符合查询条件的数据行,不需要全部扫描了。

2.减少数据扫描:

        有了索引之后在执行查询的时候只查索引中的部分数据,不扫描整个表了。

3.避免排序:

        查询涉及到排序,MySQL 可以利用索引中的有序信息,不再对整个结果集进行排序

4.提供唯一性约束:

        唯一索引可以使表中数值唯一性,防止插入重复数据,也能够加速唯一性检查的过程。

三.常见的索引方法

        1.B-tree索引:

        B-tree 索引按顺序存储数据,每个节点包含多个子节点,可以适用于范围查询和模糊查询

        2.哈希索引:

        哈希索引使用哈希表数据结构,将索引键转换为哈希值,然后映射存储的位置,在等值查询时效率高,不支持范围查询和排序操作。

四.常见的索引分类

        1.唯一索引:索引列的值是唯一的,可以为null

        2.普通索引:最常见

        3.主键索引:设主键自动为主键索引

        4.空间索引:存储地理位置时用到

        5.空间索引:搜索长文本时好用

五.单列索引和组合索引

        单列索引只针对单个列创建的索引,适用于单个列查询时提高查询速度;组合索引是多个列同时创建的索引,适用于查询条件多时的情况,提高查询速度,支持多列的范围查询和排序操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值