联合索引的列该怎么排序

要建一个 (A, B) 的联合索引,把哪一列放最左边,取决于【0】。

开始练习 →

⚠️ 同一份联合索引,三种条件三种下场

建一个 (cat, v) 的联合索引,用三种条件各查一次。输出三次的取数方式(用 / 隔开)。 t 表:200 行 id 1 ~ 200,主键 cat 只有 "A" 和 "B" 两种值(奇数

开始练习 →

只给第二列条件,碰了多少行

还是那个 (cat, v) 索引,只给第二列条件,数一数碰了多少行。输出两个数:碰了几行、表一共几行(用 / 隔开)。 t 表:200 行 id 1 ~ 200,主键 cat 只有 "A" 和 "B&

开始练习 →

自己写:把最左那一列的条件补上

上一题那条查询用不上索引。给它补上最左那一列的条件,让索引重新生效。输出两样:取数方式、碰了几行(用 / 隔开)。 t 表:200 行 id 1 ~ 200,主键 cat 只有 "A" 和 "B&qu

开始练习 →

自己写:只给最左那一列也能用

还是 (cat, v) 索引,只给最左那一列条件。输出两样:取数方式、碰了几行(用 / 隔开)。 t 表:200 行 id 1 ~ 200,主键 cat 只有 "A" 和 "B" 两种值(奇

开始练习 →

自己写:一个联合索引 vs 两个单列索引

对比两种建法:一个 (cat, v) 联合索引,vs cat 和 v 各一个单列索引。用"只给 v 条件"这一条查询,输出两种建法下的取数方式(用 / 隔开)。 t 表:200 行 id 1 ~ 200,主键 ca

开始练习 →

什么叫"回表"

顺着索引找到了那一行的位置,还得再去原表取一次其余的列。这一步叫【0】。

开始练习 →

什么样的索引能免掉回表

一个索引能让某条查询不用回表,条件是【0】。

开始练习 →

覆盖索引的代价是什么

为了让索引覆盖更多查询,把更多列塞进索引。代价是【0】。

开始练习 →

⚠️ 多取一列,覆盖就没了

建一个 (cat, v) 的索引,一次只取索引里有的列,一次多取一列 note。输出两次的取数方式全句(用 / 隔开,只取 USING 后面那部分的第一个词)。 t 表:200 行 id 1 ~ 200,主键 cat 只有 &qu

开始练习 →