mysql索引的分类

根据索引的存储方式分类:
1. B-树索引(目前大部分的索引都是采用 B-树索引来存储的,如:InnoDB)
    组件: 
        叶子节点:包含的条目直接指向表里的数据行。叶子节点之间彼此相连,一个叶子节点有一个指向下一个叶子节点的指针。
        分支节点:包含的条目指向索引里其他的分支节点或者叶子节点。
        根节点:一个 B-树索引只有一个根节点,实际上就是位于树的最顶端的分支节点。
    约束:B-树索引必须遵循左边前缀原则
        查询必须从索引的最左边的列开始

2. 哈希索引(MySQL目前仅有 MEMORY 存储引擎和 HEAP 存储引擎支持这类索引, MEMORY 存储引擎可以支持 B- 树索引和 HASH 索引,且将 HASH 当成默认索引)
    原理:根据索引列对应的哈希值的方法获取表的记录行,访问速度快
    缺点:
        MySQL 需要读取表中索引列的值来参与散列计算,散列计算是一个比较耗时的操作。也就是说,相对于 B- 树索引来说,建立哈希索引会耗费更多的时间。
        不能使用 HASH 索引排序
        HASH 索引只支持等值比较,如“=”“IN()”或“<=>”

根据索引的具体用途分类:
1、普通索引:最基本的索引类型,唯一任务是加快对数据的访问速度,没有任何限制。创建普通索引时,通常使用的关键字是 INDEX 或 KEY。
2、唯一索引:表上一个字段或者多个字段的组合建立的索引,这些字段组合起来能够确定唯一,允许存在空值(只允许存在一条空值).
    创建唯一性索引的目的往往不是为了提高访问速度,而是为了避免数据出现重复。
3、主键索引:不允许值重复或者值为空,并且每个表只能有一个主键。必须指定关键字 PRIMARY KEY。
4、空间索引:创建空间索引时,使用SPATIAL关键字。要求,引擎为MyISAM,创建空间索引的列,必须将其声明为NOT NULL
5、全文索引:全文索引只能在 VARCHAR 或 TEXT 类型的列上创建,并且只能在 MyISAM 表中创建。

根据给出的引用资料,MySQL索引可以按照四个角度进行分类。首先,按照数据结构可以分为B tree索引、Hash索引和Full-text索引。其次,按照物理存储可以分为聚簇索引(主键索引)和二级索引(辅助索引)。接着,按照字段特性可以分为主键索引、唯一索引、普通索引和前缀索引。最后,按照字段个数可以分为单列索引和联合索引(复合索引、组合索引)。组合索引也被称为复合索引或多列索引,它将多个列共同组成一个索引,可以通过这几个字段进行查询,但是只有在查询条件中使用了这些字段中的第一个字段时,索引才会被使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [mysql索引分类](https://blog.youkuaiyun.com/kking_edc/article/details/130795723)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [MySQL索引分类](https://blog.youkuaiyun.com/qq_38785977/article/details/126809064)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [MySQL - 索引类型详解](https://blog.youkuaiyun.com/weixin_42201180/article/details/125769741)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值