【MySQL-索引及优化】

本文深入探讨了MySQL的索引数据结构,包括聚集索引、辅助索引、联合索引、自适应哈希索引和全文索引等,并详细阐述了索引优化的规则,如利用慢查询日志、优化SQL查询和重构查询来提升数据库性能。
摘要由CSDN通过智能技术生成

MySQL索引数据结构

B+Tree(B-Tree变种),特点:
	非叶子节点不存储data,只存储索引(冗余),可以放更多的索引
	叶子节点包含所有索引字段
	叶子节点用指针连接,提高区间访问的性能

在这里插入图片描述

索引类型

1、聚集索引/聚簇索引

	将表的主键用来构造一棵B+树,并且将整张表的行记录数据存放在该B+树的叶子节点中。由于聚集索引是利用表的主键构建的,所以每张表只能拥有一个聚集索引。 聚集索引的叶子节点就是数据页。因此聚集索引的一个优点就是:通过过聚集索引能获取完整的整行数据。另一个优点是:对于主键的排序查找和范围查找速度非常快。
	如果表没有定义主键,那么MySQL会使用唯一键索引来建立聚集索引,没有唯一性索引,MySQL也会创建一个隐含列RowID来做主键,然后用这个主键来建立聚集索引。

2、辅助索引/二级索引

	对于辅助索引(Secondary Index,也称二级索引、非聚集索引),叶子节点并不包含行记录的全部数据。叶子节点除了包含键值以外,每个叶子节点中的索引行中还包含了相应行数据的聚集索引键(即主键)。

回表

	当通过辅助索引来寻找数据时,InnoDB存储引擎会遍历
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值