0
点赞
收藏
分享

微信扫一扫

《MySQL是怎么样运行的》读书笔记三--单表查询

腊梅5朵 2022-02-11 阅读 54

单表访问方法

查询的执行方式大致分为下边两种:

使用全表扫描进行查询

使用索引进行查询。

唯一二级索引就是作为索引的那列值都是唯一的,没有重复的。

const

意思是常数级别的,代价是可以忽略不计的。不过这种const访问方法只能在主键列或者唯一二级索引列和一个常数进行等值比较时才有效

ref

用普通二级索引找到对应记录的id值,然后再回表到聚簇索引中查找完整的用户记录。

ref_or_null

有时候我们不仅想找出某个二级索引列的值等于某个常数的记录,还想把该列的值为NULL的记录也找出来

range

SELECT * FROM single_table WHERE key2 IN (1438, 6328) OR (key2 >= 38 AND key2 <= 79);

index

没懂,建议回去看。。。

all

使用全表扫描执行查询的方式称之为:all

索引合并

Intersection合并(交集合并)

SELECT * FROM single_table WHERE key1 = 'a' AND key3 = 'b';
  • 二级索引的记录都是由索引列 + 主键构成的,所以我们可以计算出这两个结果集中id值的交集。

  • 按照上一步生成的id值列表进行回表操作,也就是从聚簇索引中把指定id值的完整用户记录取出来,返回给用户。

Union合并

SELECT * FROM single_table WHERE key1 = 'a' OR key3 = 'b'
举报

相关推荐

0 条评论