《MySQL是怎样运行的》【第10章 单表访问方法】笔记

第10章 单表访问方法

在这里插入图片描述

前导知识

单表查询:from子句后只有一个表

访问方法:MySQL执行查询语句的方式

访问方法的分类

const

  • what:通过主键或位移耳机索引列来定位一条记录
  • 约束:只能在主键列或唯一二级索引列与一个常数进行等值比较时才有效,必须要保证最多只有一条记录符合搜索条件

ref

  • what:通过二级索引列与常数进行等值比较,形成的扫描区间为单点
  • 对于普通的二级索引列,使用ref可能获取到多条连续的二级索引记录
  • 每获取到一条二级索引记录,会立刻进行回表

ref_or_null

  • 只比ref多扫描了一些值为NULL的二级索引记录
  • 值为NULL的记录会放在索引的最左边

range

  • what:使用索引查询时,扫描区间为若干单点或范围区间

index

  • what:扫描全部二级索引记录,但需要的数据均在二级索引中,不用回表

all

  • what:全表扫描,扫描全部的聚簇索引

索引合并

使用索引来减少需要扫描的记录时,一般只会为单个索引生成扫描区间

what:特殊情况,可以使用多个索引来完成一次查询,这就是索引合并

Intersection索引合并

  • what:对从不同索引中扫描到的记录的主键值取交集,只为交集中的记录进行回表
  • 注意:从每个索引中获取到的二级索引记录必须按照主键排序

Union索引合并

  • what:对从不同索引中扫描到的记录的主键值取并集,只为并集中的记录进行回表
  • 注意:从每个索引中获取到的二级索引记录必须按照主键排序

Sort-Union索引合并

  • what:将从各个索引中扫描到的记录的主键值排序,再进行Union索引合并
  • 注意:要求从各个索引中扫描到的记录的主键值是有序的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值